試し読み
Python Django 3超入門 (単行本)
Pythonは、人工知能や機械学習に適したプログラミング言語として注目されています。しかし、PythonはWeb開発など普通のアプリ開発においても使いやすい優秀な言語なのです。本書は、PythonのWeb開発用フレームワーク「Django3」を使って、基本的な知識からテンプレート制作やデータベースアクセスの技術まで、実際に手を動かしながら身につく入門書です。あなたもDjango3で、Pythonによる最新のWebアプリ開発を体験しましょう!
第1章 Djangoを使ってみよう
1-1 PythonとDjangoを準備しよう
「パイソン」って、なに?
Djangoってなに?
Web開発に必要なものは?
Pythonを準備しよう
Pythonの動作を確認しよう
1-2 Pythonの開発環境を整えよう!
開発ツールは必要?
VS Codeを用意しよう
VS Codeを日本語化する
VS Codeを起動する
フォルダを開くと?
ターミナルについて
1-3 Djangoのプログラムを作ろう
Djangoをインストールする
Djangoプロジェクトを作る!
VS Codeでプロジェクトを開く
Djangoプロジェクトの中身を見よう
Webアプリケーションを実行しよう
この章のまとめ
第2章 ビューとテンプレート
2-1 Webページの基本を覚えよう
MVCってなに?
プロジェクトとアプリケーション
アプリケーションを作ろう
helloアプリケーションをチェック!
views.pyにページ表示を書く
views.pyで実行すること
urls.pyについて
アクセスしてみよう!
helloにurls.pyを作成する
hello/urls.pyのスクリプト
クエリーパラメーターを使おう
request.GETの働き
パラメーターがないときどうする?
スマートな値の送り方
パターンはいろいろ作れる!
2-2 テンプレートを利用しよう
テンプレートってなに?
アプリケーションの登録
テンプレートはどこに置く?
index.htmlを作成する
urlpatternsの修正
indexの修正
テンプレートに値を渡す
複数ページの移動
リンクのURLとurlpatterns
静的ファイルを利用する
Bootstrapを使おう
2-3 フォームで送信しよう
フォームを用意しよう
CSRF対策について
ビュー関数を作成する
Bootstrapでデザインしよう
Djangoのフォーム機能を使う
forms.pyを作る
Formクラスの書き方
ビュー関数を作る
HelloFormを表示する
フィールドをタグで整える
Bootstrapクラスを使うには?
HTMLタグか、Formクラスか?
ビュー関数をクラス化する
HelloViewクラスを作る
クラスか、関数か?
2-4 さまざまなフィールド
formsモジュールについて
さまざまな入力フィールド
日時に関するフィールド
チェックボックス
3択のNullBooleanField
プルダウンメニュー(チョイス)
ラジオボタン
選択リスト
複数項目の選択は?
この章のまとめ
第3章 モデルとデータベース
3-1 管理ツールでデータベースを作ろう
データベースってなに?
データベースの設定をしよう
他のデータベースを使う場合は?
データベースの構造について
テーブルを設計しよう
モデルを作成しよう
Friendモデルクラスの作成
マイグレーションしよう
マイグレーションファイルの中身って?
3-2 管理ツールを使おう
管理ユーザーを作成しよう
Friendを登録しよう
管理ツールにログインする
管理ツール画面について
Friendsテーブルを見てみる
利用者の管理ページ
利用者を追加してみる
本格開発に管理ツールは必須!
3-3 レコード取得の基本とManager
レコードを表示しよう
モデルの内容を表示する
モデルの表示を完成させよう
指定のIDのレコードだけ取り出す
ビュー関数を修正しよう
Managerクラスってなに?
モデルのリストを調べてみる
valuesメソッドについて
特定の項目だけ取り出す
リストとして取り出す
最初と最後、レコード数
QuerySetの表示をカスタマイズ!
3-4 CRUDを作ろう
CRUDってなに?
Createを作ろう
ModelFormを使う
Updateを作ろう
Deleteを作ろう
ジェネリックビューについて
Friendをジェネリックビューで表示する
CRUDより重要なものは?
3-5 検索をマスターしよう
検索とフィルター
あいまい検索ってなに?
大文字小文字を区別しない
数値の比較
○○歳以上○○歳以下はどうする?
AもBもどっちも検索したい!
リストを使って検索
この章のまとめ
第4章 データベースを使いこなそう
4-1 データベースを更に極める!
レコードの並べ替え
指定した範囲のレコードを取り出す
レコードを集計するには?
SQLを直接実行するには?
SQLクエリを実行しよう
SQLは非常手段?
4-2 バリデーションを使いこなそう
バリデーションってなに?
forms.Formのバリデーション
バリデーションをチェックする
CheckFormでバリデーションチェック
どんなバリデーションがあるの?
バリデーションを追加する
ModelFormでのバリデーションは?
チェックのタイミング
checkでFriendモデルを利用する
モデルのバリデーション設定は?
モデルで使えるバリデータ
バリデータ関数を作る
フォームとエラーメッセージを個別に表示
ModelFormはカスタマイズできる?
4-3 ページネーション
ページネーションってなに?
Paginatorクラスの使い方
Friendをページごとに表示する
ページの移動はどうする?
ページ移動リンクの仕組み
4-4 リレーションシップとForeignKey
テーブルの連携って?
リレーションシップの設定方法
メッセージの投稿システムを考える
Messageモデルを作ろう
マイグレーションしよう
admin.pyの修正
管理ツールでMessageを使おう
Messageページを作ろう
MessageFormを作る
message関数を作る
message.htmlテンプレートを書こう
indexに投稿メッセージを表示するには?
この章のまとめ
第5章 本格アプリケーション作りに挑戦!
5-1 ミニSNSを作ろう!
ミニSNSの開発に挑戦!
Snsアプリケーションを追加しよう
アプリケーションを設計する
データベースを設計する
モデルを作成しよう
マイグレーションしよう
admin.pyにsnsのテーブルを登録する
管理ツールでユーザー登録!
publicグループを用意する
5-2 スクリプトを作成しよう
フォームを作る
GroupCheckFormについて
GroupSelectFormについて
FriendsFormについて
PostFormについて
urls.pyの作成
views.pyの修正
index関数について
groupsビュー関数について
Friendの追加について
投稿とシェア投稿について
「いいね!」の処理
get_your_group_messageが最大のポイント!
5-3 テンプレートを作ろう
テンプレートのフォルダを用意する
layout.htmlを作る
index.htmlを作る
post.htmlを作る
share.htmlを作る
groups.htmlを作る
5-4 アプリケーションをテストしよう
テストってなに?
TestCaseクラスについて
テストの基本を覚えよう
値をチェックするためのメソッド
セットアップとティアダウン
データベースをテストする
データベースのテストを完成させる
ビューにアクセスしてテストしよう
SNSアプリケーションにアクセスする
これからさきはどうするの?
Addendum Python超入門!
A-1 Pythonの基本を覚えよう
Pythonの2つの動かし方
IDLEを実行しよう
スクリプトの書き方のポイント
値には種類がある!
計算しよう!
値のキャストについて
比較演算
変数ってなに?
A-2 制御構文を使おう
条件分岐「if」
繰り返し「while」
A-3 多数の値をまとめて扱う
たくさんの値を保管する「リスト」
リストも計算できる!
リストと繰り返し構文「for」
値を変更できない「タプル」
意外と使う「レンジ」
名前で値を管理する「辞書」
A-4 関数からクラスへ
決まった処理をいつでも実行!
「組み込み関数」ってなに?
関数の呼び出し方
スクリプトファイルを用意しよう
input関数で入力しよう
モジュールと関数
関数を作る
クラスってなに?
クラスはどう作るの?
クラスを作ってみよう
メソッドについて
クラスはインスタンスで利用する
初期化メソッドを利用しよう
名前付きの引数を使おう
継承は超便利!
クラスメソッドについて
Pythonの基本はこれでおしまい!
1-1 PythonとDjangoを準備しよう
「パイソン」って、なに?
Djangoってなに?
Web開発に必要なものは?
Pythonを準備しよう
Pythonの動作を確認しよう
1-2 Pythonの開発環境を整えよう!
開発ツールは必要?
VS Codeを用意しよう
VS Codeを日本語化する
VS Codeを起動する
フォルダを開くと?
ターミナルについて
1-3 Djangoのプログラムを作ろう
Djangoをインストールする
Djangoプロジェクトを作る!
VS Codeでプロジェクトを開く
Djangoプロジェクトの中身を見よう
Webアプリケーションを実行しよう
この章のまとめ
第2章 ビューとテンプレート
2-1 Webページの基本を覚えよう
MVCってなに?
プロジェクトとアプリケーション
アプリケーションを作ろう
helloアプリケーションをチェック!
views.pyにページ表示を書く
views.pyで実行すること
urls.pyについて
アクセスしてみよう!
helloにurls.pyを作成する
hello/urls.pyのスクリプト
クエリーパラメーターを使おう
request.GETの働き
パラメーターがないときどうする?
スマートな値の送り方
パターンはいろいろ作れる!
2-2 テンプレートを利用しよう
テンプレートってなに?
アプリケーションの登録
テンプレートはどこに置く?
index.htmlを作成する
urlpatternsの修正
indexの修正
テンプレートに値を渡す
複数ページの移動
リンクのURLとurlpatterns
静的ファイルを利用する
Bootstrapを使おう
2-3 フォームで送信しよう
フォームを用意しよう
CSRF対策について
ビュー関数を作成する
Bootstrapでデザインしよう
Djangoのフォーム機能を使う
forms.pyを作る
Formクラスの書き方
ビュー関数を作る
HelloFormを表示する
フィールドをタグで整える
Bootstrapクラスを使うには?
HTMLタグか、Formクラスか?
ビュー関数をクラス化する
HelloViewクラスを作る
クラスか、関数か?
2-4 さまざまなフィールド
formsモジュールについて
さまざまな入力フィールド
日時に関するフィールド
チェックボックス
3択のNullBooleanField
プルダウンメニュー(チョイス)
ラジオボタン
選択リスト
複数項目の選択は?
この章のまとめ
第3章 モデルとデータベース
3-1 管理ツールでデータベースを作ろう
データベースってなに?
データベースの設定をしよう
他のデータベースを使う場合は?
データベースの構造について
テーブルを設計しよう
モデルを作成しよう
Friendモデルクラスの作成
マイグレーションしよう
マイグレーションファイルの中身って?
3-2 管理ツールを使おう
管理ユーザーを作成しよう
Friendを登録しよう
管理ツールにログインする
管理ツール画面について
Friendsテーブルを見てみる
利用者の管理ページ
利用者を追加してみる
本格開発に管理ツールは必須!
3-3 レコード取得の基本とManager
レコードを表示しよう
モデルの内容を表示する
モデルの表示を完成させよう
指定のIDのレコードだけ取り出す
ビュー関数を修正しよう
Managerクラスってなに?
モデルのリストを調べてみる
valuesメソッドについて
特定の項目だけ取り出す
リストとして取り出す
最初と最後、レコード数
QuerySetの表示をカスタマイズ!
3-4 CRUDを作ろう
CRUDってなに?
Createを作ろう
ModelFormを使う
Updateを作ろう
Deleteを作ろう
ジェネリックビューについて
Friendをジェネリックビューで表示する
CRUDより重要なものは?
3-5 検索をマスターしよう
検索とフィルター
あいまい検索ってなに?
大文字小文字を区別しない
数値の比較
○○歳以上○○歳以下はどうする?
AもBもどっちも検索したい!
リストを使って検索
この章のまとめ
第4章 データベースを使いこなそう
4-1 データベースを更に極める!
レコードの並べ替え
指定した範囲のレコードを取り出す
レコードを集計するには?
SQLを直接実行するには?
SQLクエリを実行しよう
SQLは非常手段?
4-2 バリデーションを使いこなそう
バリデーションってなに?
forms.Formのバリデーション
バリデーションをチェックする
CheckFormでバリデーションチェック
どんなバリデーションがあるの?
バリデーションを追加する
ModelFormでのバリデーションは?
チェックのタイミング
checkでFriendモデルを利用する
モデルのバリデーション設定は?
モデルで使えるバリデータ
バリデータ関数を作る
フォームとエラーメッセージを個別に表示
ModelFormはカスタマイズできる?
4-3 ページネーション
ページネーションってなに?
Paginatorクラスの使い方
Friendをページごとに表示する
ページの移動はどうする?
ページ移動リンクの仕組み
4-4 リレーションシップとForeignKey
テーブルの連携って?
リレーションシップの設定方法
メッセージの投稿システムを考える
Messageモデルを作ろう
マイグレーションしよう
admin.pyの修正
管理ツールでMessageを使おう
Messageページを作ろう
MessageFormを作る
message関数を作る
message.htmlテンプレートを書こう
indexに投稿メッセージを表示するには?
この章のまとめ
第5章 本格アプリケーション作りに挑戦!
5-1 ミニSNSを作ろう!
ミニSNSの開発に挑戦!
Snsアプリケーションを追加しよう
アプリケーションを設計する
データベースを設計する
モデルを作成しよう
マイグレーションしよう
admin.pyにsnsのテーブルを登録する
管理ツールでユーザー登録!
publicグループを用意する
5-2 スクリプトを作成しよう
フォームを作る
GroupCheckFormについて
GroupSelectFormについて
FriendsFormについて
PostFormについて
urls.pyの作成
views.pyの修正
index関数について
groupsビュー関数について
Friendの追加について
投稿とシェア投稿について
「いいね!」の処理
get_your_group_messageが最大のポイント!
5-3 テンプレートを作ろう
テンプレートのフォルダを用意する
layout.htmlを作る
index.htmlを作る
post.htmlを作る
share.htmlを作る
groups.htmlを作る
5-4 アプリケーションをテストしよう
テストってなに?
TestCaseクラスについて
テストの基本を覚えよう
値をチェックするためのメソッド
セットアップとティアダウン
データベースをテストする
データベースのテストを完成させる
ビューにアクセスしてテストしよう
SNSアプリケーションにアクセスする
これからさきはどうするの?
Addendum Python超入門!
A-1 Pythonの基本を覚えよう
Pythonの2つの動かし方
IDLEを実行しよう
スクリプトの書き方のポイント
値には種類がある!
計算しよう!
値のキャストについて
比較演算
変数ってなに?
A-2 制御構文を使おう
条件分岐「if」
繰り返し「while」
A-3 多数の値をまとめて扱う
たくさんの値を保管する「リスト」
リストも計算できる!
リストと繰り返し構文「for」
値を変更できない「タプル」
意外と使う「レンジ」
名前で値を管理する「辞書」
A-4 関数からクラスへ
決まった処理をいつでも実行!
「組み込み関数」ってなに?
関数の呼び出し方
スクリプトファイルを用意しよう
input関数で入力しよう
モジュールと関数
関数を作る
クラスってなに?
クラスはどう作るの?
クラスを作ってみよう
メソッドについて
クラスはインスタンスで利用する
初期化メソッドを利用しよう
名前付きの引数を使おう
継承は超便利!
クラスメソッドについて
Pythonの基本はこれでおしまい!