Django Sprint #0 イントロダクション

## 概要
これは [UTokyo Project Sprint](https://sites.google.com/g.ecc.u-tokyo.ac.jp/utokyo-project-sprint/links?authuser=0) のビギナー用サポートとして作られたものです。
全6回からなります。

#### #1 環境構築
開発に必要なもの／Git & GitHub／Docker 

#### #2 新規プロジェクトのスタート
プロジェクトの作成／Gitによるバージョン管理

#### #3 ユーザーモデルのカスタマイズ
Gitの運用／各種設定／モデル概論／ユーザーモデルと認証、管理者

#### #4 トップページの作成
HTMLとCSS／トップページの作成の準備／トップページの作成／コードの再利用

#### #5 汎用ビューとCRUD 前編
汎用ビューとCRUD／モデルフォーム／ユーザーモデルに対する実装①：ログインとサインアップ

#### #6 汎用ビューとCRUD 後編
ユーザーモデルに対する実装②：ユーザー情報の更新／③：ユーザーの詳細ページと一覧ページ／④：ユーザーの削除

## ゴール
この6ステップで「**様々な応用可能性を残したまま、最初の基本的機能を実装する**」ことを目指します。

## スタートの想定
「初心者」「ビギナー」とありますが、具体的にどのような方を想定しているか、また何も知らない場合にどのレベルまでに達しておくべきなのかについて整理しておきます。

- HTML / CSS がどのようなものなのか分かる 
- PythonやRuby、JavaScript、PHP、Javaのいずれかを使ってみたことがある
    - 変数
    - if / for / while
    - 配列（リスト） / 辞書
    - 関数
    - クラス
- コマンドライン（ターミナル・コマンドプロンプト）を使ってみたことがある

## 参考記事
もし以上の要件を満たしていない、または、プロトタイプ構築までにさらに勉強しておきたいという方は以下のものをおすすめします。

- Webの仕組み（分かった気になるぐらいで十分です）
    - クライアントサーバーモデル：[『ウェブのしくみ』(MDN web docs)](https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/How_the_Web_works)
    - MVCモデル：[『MVCモデルについてわかりやすく解説します！【初心者向け】』](https://umaroidblog.com/what_mvcmodel)
- HTML
    - HTMLとは：[『HTMLの基本』(MDN web docs)](https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/HTML_basics)
    - HTMLを学ぶ①：[Progate | HTML&CSS](https://prog-8.com/languages/html)
    - HTMLを学ぶ②：[ドットインストール | はじめてのHTML](https://dotinstall.com/lessons/basic_html_v5)
- CSS
    - CSSとは：[『CSSの基本』](https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/CSS_basics)
    - CSSを学ぶ①：[Progate | HTML&CSS](https://prog-8.com/languages/html)
    - CSSを学ぶ②：[ドットインストール | はじめてのCSS](https://dotinstall.com/lessons/basic_css_v5)
    - CSSフレームワークとは：[『【初心者向け】CSSフレームワークとは？メリットや使い方を解説』](https://citrusjapan.co.jp/column/cj-column/w006_201811.html)
- コマンドライン
    - コマンドラインを学ぶ：[Progate | Command Line 基礎編](https://prog-8.com/lessons/commandline/study/1)
- Python
    - Python公式docs：[python.jp](https://www.python.jp/)
    - Pythonを学ぶ①：[Progate | Python](https://prog-8.com/languages/python)
    - Pythonを学ぶ②：[ドットインストール | はじめてのPython](https://dotinstall.com/lessons/basic_python_v4)
    - Python非公式参照記事：[note.nkmk.me](https://note.nkmk.me/)
- Django
    - Djangoとは：[『Djangoの紹介』](https://developer.mozilla.org/ja/docs/Learn/Server-side/Django/Introduction)
    - Django公式docs：[Django documentation](https://docs.djangoproject.com/ja/3.0/)
    - Djangoを学ぶ（これをまずやるべき）：[Django Girls Tutorial](https://tutorial.djangogirls.org/ja/)
    - Djangoについてさらに学ぶ①：[Narito Blog](https://narito.ninja/blog/)
    - Djangoについてさらに学ぶ②：[Django Brothers](https://djangobrothers.com)
    - Djangoについてさらに学ぶ③：[『Django 入門』](https://qiita.com/kaki_k/items/511611cadac1d0c69c54)(全6回)
    - Django初学者向けロードマップ：[『初学者・初級者向け Django の学習ロードマップ』](https://akiyoko.hatenablog.jp/entry/2018/12/01/133427)
- Git
    - [『サル先生のGit入門』](https://backlog.com/ja/git-tutorial/)
    - [Progate | Git](https://prog-8.com/languages/git)
- Docker
    - [米国データサイエンティストのブログ ｜ Docker超入門（全7回）](https://datawokagaku.com/whatisdocker/)



## 参照

- [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)

Windows / Docker Toolbox 向けはこちら

- [Django Sprint #1 環境構築 (Windows向け)](https://qiita.com/Chrg/private/e3a221966c7efa455e68)
- [Django Sprint #2 新規プロジェクトのスタート (Docker Toolbox向け)](https://qiita.com/Chrg/private/4c008ca01bc5341408d7)
- [Django Sprint #3 ユーザーモデルのカスタマイズ (Docker Toolbox向け)](https://qiita.com/Chrg/private/3dde9ee45623a1664734)
- [Django Sprint #4 トップページの作成 (Docker Toolbox向け)](https://qiita.com/Chrg/private/4ef90a9fb3f17b209635)
- [Django Sprint Appendix Docker周りのコマンドとエラー (Docker Toolbox向け)](https://qiita.com/Chrg/private/aed20b6f8138cd65880b)