Django Sprint Appendix 各種実装まとめ

## 目次

1. 使えるサイト
2. 機能別参考記事


## 使えるサイト

#### [Django Documentation](https://docs.djangoproject.com/ja/3.0/)
結局公式ドキュメントが最も信頼できて、最も有用なサイトです。公式のチュートリアルも用意されており、投票アプリを作れるようになっております。

#### [Narito Blog](https://narito.ninja/blog/)
Djangoで有名なプログラマーである滝澤氏のブログです。様々なアプリの構築例が載っています。例えば、ブログサイト、予約サイト、日記サイトなどです。機能ごとにも載っています。

- [Djangoで、ブログを作るシリーズ①](https://narito.ninja/blog/detail/172/)
- [Djangoで、ブログを作るシリーズ②](https://narito.ninja/blog/detail/180/)
- [Djangoで、日記を作るシリーズ①](https://narito.ninja/blog/detail/165/)
- [Djangoで、シンプルな予約サイトの作成シリーズ](https://narito.ninja/blog/detail/157/)
- [Djangoでカレンダーを作るシリーズ](https://narito.ninja/blog/detail/11/)

#### [Django Brothers](https://djangobrothers.com)
チュートリアルとブログから成ります。チュートリアルではメモアプリやブログ管理サイト、ECサイトの作成を扱います。ブログでは細かな機能を紹介しています。

#### [Qiita | @okoppe8 ](https://qiita.com/okoppe8)
Qiitaで有名な @okoppe8 さんの記事一覧です。 「Djangoで業務システム作る時に必要な機能をあらかじめ用意する」というテーマでたくさんの有用記事があります。

#### [Django学習帳](https://django.kurodigi.com)
Djangoの基本的なところから少し応用的なところまでカバーしています。全体としてはチュートリアル形式です。

#### [Bulma Documentation](https://bulma.io/documentation/)
フォームやタイルなど、フロントエンドの各実装形式を逆算することができます。一通り確認してみることをおすすめします。


## 機能別参考記事

#### 認証のカスタマイズ

- [Django docs | Djangoの認証システムを使用する](https://docs.djangoproject.com/ja/2.2/topics/auth/default/)
- [Django docs | Djangoの認証方法のカスタマイズ](https://docs.djangoproject.com/ja/2.2/topics/auth/customizing/)
- [Narito Blog | Djangoで会員登録機能を自作するシリーズ](https://narito.ninja/blog/detail/38/)
- [Narito Blog | Djangoで、パスワード変更ページと再設定ページ](https://narito.ninja/blog/detail/44/)

#### モデルのフィールドとリレーションシップ

- [Django docs | モデルフィールドリファレンス](https://docs.djangoproject.com/ja/2.2/ref/models/fields/)
- [Qiita | Django モデルフィールド：データベースフィールド 型対応表](https://qiita.com/okoppe8/items/13ad7b7d52fd6a3fd3fc)
- [Qiita | [Django] モデルフィールド 設定テンプレート](https://qiita.com/okoppe8/items/a1149b2be54441951de1)
- [Django Brothers | Django2.0から必須になったon_deleteの使い方](https://djangobrothers.com/blogs/on_delete/)
- [Django Brothers | ManyToManyフィールド　throughで中間テーブルを自作する](https://djangobrothers.com/blogs/django_manytomany_through/)
- [Django Brothers | Djangoモデルフィールドのnullとblankの違いを理解する](https://djangobrothers.com/blogs/django_null_blank/)
- [Django Brothers | Django Userモデルへの参照方法（AUTH_USER_MODEL, get_user_modelの使い方）](https://djangobrothers.com/blogs/referencing_the_user_model/)

#### DB関連

- [Django Brothers | ManyToMany フィルターなどのオブジェクト操作一覧](https://djangobrothers.com/blogs/many_to_many_objects/)
- [Qiita | Django データベース操作 についてのまとめ](https://qiita.com/okoppe8/items/66a8747cf179a538355b)

#### 検索機能・タグ機能

- [Narito Blog | Django、ブログ②の記事一覧を作る／検索機能の作成](https://narito.ninja/blog/detail/183/#_3)
- [Django Brothers | django-taggitでタグ機能・関連記事機能を作る](https://djangobrothers.com/blogs/django_tag_related_blog_taggit/)

#### フォーム（応用）

- [Django docs | フォームAPI](https://docs.djangoproject.com/ja/2.2/ref/forms/api/)
- [Narito Blog | Django、フォームの表示方法まとめ](https://narito.ninja/blog/detail/98/)
- [Narito Blog | Djangoでフォームセットを使うシリーズ](https://narito.ninja/blog/detail/29/)
- [Narito Blog | Djangoで、複数のform要素を使う](https://narito.ninja/blog/detail/95/)
- [Bulma docs | Form controls](https://bulma.io/documentation/form/general/)

#### ページネーション

- [Narito Blog | Django、ページング処理まとめ](https://narito.ninja/blog/detail/89/)
- [Django Brothers | ページング入門](https://djangobrothers.com/blogs/django_pagination/)

#### 更新通知・メーリング

- [Django docs | メールを送信する](https://docs.djangoproject.com/ja/2.2/topics/email/)
- [Narito Blog | Djangoで、Webサイトの更新情報を通知するシリーズ](https://narito.ninja/blog/detail/144/)
- [Narito Blog | Djangoで、メールを送信](https://narito.ninja/blog/detail/64/)

#### メッセージ

- [Django docs | メッセージフレームワーク](https://docs.djangoproject.com/ja/2.2/ref/contrib/messages/)
- [Bulma docs | Notification](https://bulma.io/documentation/elements/notification/)

#### セッション・Cookie

- [Django docs | セッションの使いかた](https://docs.djangoproject.com/ja/2.2/topics/http/sessions/)
- [Django学習帳 | 2-9. セッションへのデータの保存と読み出し](https://django.kurodigi.com/session/)
- [Django学習帳 | 2-10. Cookieへのデータの保存と読み出し](https://django.kurodigi.com/cookie/)

#### 管理者画面の拡張

- [Django 管理画面逆引きメモ](https://qiita.com/zenwerk/items/044c149d93db097cdaf8)

#### セキュリティ周り

- [Django docs | Django におけるセキュリティ](https://docs.djangoproject.com/ja/2.2/topics/security/)
- [akiyoko blog | DjangoCongress JP 2019 で「現場で使える Django のセキュリティ対策」というタイトルで登壇してきました](https://akiyoko.hatenablog.jp/entry/2019/05/19/140642)

#### API作成

- [Qiita | Django REST Frameworkを使って爆速でAPIを実装する](https://qiita.com/kimihiro_n/items/86e0a9e619720e57ecd8)

#### CSVのエクスポート

- [Django docs | Django で CSV を出力する](https://docs.djangoproject.com/ja/2.2/howto/outputting-csv/)
- [Narito Blog | Django、CSVのインポート・エクスポート](https://narito.ninja/blog/detail/60/)

#### Herokuへのデプロイ

- [Django Brothers | HerokuでPythonアプリをデプロイする](https://djangobrothers.com/blogs/heroku_python_deploy/)
- [Django Brothers | DjangoアプリをHerokuでデプロイする手順](https://djangobrothers.com/blogs/heroku_django_deploy/)
- [Qiita | [Django] Heroku デプロイ方法 2018年版](https://qiita.com//okoppe8/items/76cdb202eb15aab566d1)

#### SNSシェア

- [Narito Blog | Djangoで、SNSシェアリンク・ボタンを作る](https://narito.ninja/blog/detail/96/)

#### 多言語対応

- [Django docs | 国際化とローカル化](https://docs.djangoproject.com/ja/2.2/topics/i18n/)
- [Narito Blog | Django、多言語対応](https://narito.ninja/blog/detail/86/)

#### フロントエンド向け

- [Django docs | The Django Template Language](https://docs.djangoproject.com/ja/2.2/ref/templates/language/)
- [Narito Blog | Bulmaでよく使うJavaScriptコード](https://narito.ninja/blog/detail/131/)
- [Django Brothers | Djangoでカスタマイズした404ページを表示する](https://djangobrothers.com/blogs/django_404_page/)
- [Bulma docs | Button](https://bulma.io/documentation/elements/button/)


## 参照

- [Django Sprint #0 イントロダクション](https://qiita.com/tmgauss/private/a0dbc8b90fd5c95732af)
- [Django Sprint #1 環境構築](https://qiita.com/tmgauss/private/7e07b572dc6913475f86)
- [Django Sprint #2 新規プロジェクトのスタート](https://qiita.com/tmgauss/private/96c74381b52da4679d19)
- [Django Sprint #3 ユーザーモデルのカスタマイズ](https://qiita.com/tmgauss/private/b8edaf0da8cb8c22b1b5)
- [Django Sprint #4 トップページの作成](https://qiita.com/tmgauss/private/889793b2d7c6c89d6863)
- [Django Sprint #5 汎用ビューとCRUD 前編](https://qiita.com/tmgauss/private/0664cb98ca95e9737091)
- [Django Sprint #6 汎用ビューとCRUD 後編](https://qiita.com/tmgauss/private/96613b26dc0eea28d3c6)
- [Django Sprint Appendix Docker関連](https://qiita.com/tmgauss/private/bf3545d17c7271ed4fcb)
- [Django Sprint Appendix 各種実装まとめ](https://qiita.com/tmgauss/private/f92044b346825b812121)
- [Django Sprint Appendix モデルとデータベース](https://qiita.com/tmgauss/private/5e882e71100b798209d8)
- [Django+PostgreSQLのアプリケーションをAWSのElastic Beanstalkにデプロイする (UTokyo Project Sprint 用)](https://qiita.com/Chrg/private/d0c6fa829040613d1bb6)
- [Django+MySQLのアプリケーションをAWSのElastic Beanstalkにデプロイする (UTokyo Project Sprint 用)](https://qiita.com/yulingo-ringo/private/5c2be0a31636c33565f1)