動かして学ぶ!Python Django開発入門 電子書籍(大高 隆)|翔泳社の本
  1. ホーム >
  2. 電子書籍 >
  3. 動かして学ぶ!Python Django開発入門

動かして学ぶ!Python Django開発入門


形式:
電子書籍
発売日:
ISBN:
9784798162515
価格:
3,740(本体3,400円+税10%)
シリーズ:
NEXT ONE

本書籍の他の形式を確認する

  • このエントリーをはてなブックマークに追加

フルスタックエンジニア必携!
DjangoでWebアプリを開発しよう!

【本書の概要】
本書は、大人気フレームワーク「Django」によるWebアプリ開発手法を学べる書籍です。
具体的には、DjangoによるWebアプリの設計・作成の基本、動的機能の作成(フォーム作成)の基本、
認証処理の基本、データベースとの連携の基本(日記機能)、クラウドとの連携の基本(デプロイも含む)、
セキュリティの基本など一通り学ぶことができます。 フルスタックエンジニア必携の1冊です。

【対象読者】
フルスタックエンジニア

【Djangoの対応バージョン】
Django2.2。
Django2.2はLTS(Long Term Support)という長期間サポート対象のバージョンです。
2022年4月までサポートが予定されており、安心して学習できます。

【Djangoとは(本書より抜粋)】
DjangoはPython用のフルスタックWebアプリフレームワークです。
多くのWebアプリにおいて必要となるメール送信やセキュリティなど、
多くの機能が標準で備わっています。

開発用の機能も充実しています。開発サーバーはDjangoに同梱されているため、
ローカルマシンで開発中のWebアプリをすぐに起動できます。

さらに、データベースのテーブル定義を記述しておけば自分でデータベースを操作するSQLを書くことなく、
コマンドを打つだけでデータベースに反映することもできます。

運用を支援する管理サイトも最初から備わっています。この管理サイトを使えば、
Web上からデータベースのデータを書き換えたり、
ユーザーの管理などを素早く行えます。

【著者】
大高隆(おおたか・りゅう)
京都大学大学院情報学研究科修了後に日本アイ・ビー・エム株式会社に入社。
同社にて10年間エンジニアとして従事し退社。
現在フリーのソフトウェアエンジニア兼投資家。
パッケージソフトやWebアプリなどの開発作業に日夜取り組んでいる。

フルスタックエンジニア必携! DjangoでWebアプリを開発しよう!

本書の内容

本書の内容
図解でわかる

図解でわかる

文章だけでは理解しにくい事柄は図で解説します。具体的にイメージできるので、頭にスッと入ってきます。

コードの解説つき

コードの解説つき

「なぜそのようにコーディングするのか」がわかるよう、コードに解説を入れています。内容を理解することで、より実践的な力が身につきます。

迷わずに操作できる

迷わずに操作できる

操作の手順を画像で丁寧に解説。番号順に操作すれば、迷わずにゴールにたどり着けます。

【書籍 目次】
Chapter1 Webアプリを開発する前に
Chapter2 Webアプリを開発するには
Chapter3 Djangoの概説
Chapter4 Webアプリ開発前の準備
Chapter5 単一ページのDjangoアプリケーションを作成する
Chapter6 バージョン管理システムを構築する
Chapter7 トップページを作り込む
Chapter8 問い合わせページのフォーム画面を作る
Chapter9 フォーム機能を作り上げる:メール送信
Chapter10 Djangoに認証機能を追加する
Chapter11 会員用機能を作る:データベースとの連携
Chapter12 Djangoとクラウドを連携して本番運用を行う
Chapter13 独自ドメイン化とセキュリティ対策

【ダウンロード特典 目次】
Appendix A Pythonの基礎知識
Appendix B Bootstrapの基礎知識
Appendix C Gitの基礎知識
Appendix D DjangoとモダンJavaScriptとの連携
Appendix E Djangoとモバイルアプリとの連携

付属データはこちら

会員特典はこちら

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

  • P157、P245に関する追加情報(2021年5月27日)

    ・P.157「ダウンロードしたファイルをDjangoプロジェクトにコピーする」の追加情報

    Start BootstrapのCSSは「styles.css」に集約する構成に変わりました。そのため「vendor」ディレクトリは不要になり、下記のとおり「css/styles.css」をコピーして本書にあわせてファイル名を変更してください。

    private_diary
    ├── diary
    ├── manage.py
    ├── private_diary
    └── static
    ├── css
    │ └── one-page-wonder.min.css <=「css/styles.css」をコピーしてファイル名を変更
    └── img <= 本書のとおり「img」ディレクトリをそのままコピー


    ・P.245「テンプレートの作成」

    P.157と同様に下記のとおり「css/styles.css」をコピーして本書にあわせてファイル名を変更してください。

    private_diary
    ├── accounts
    ├── diary
    ├── manage.py
    ├── private_diary
    └── static
    ├── css
    │ ├── clean-blog.min.css <=「css/styles.css」をコピーしてファイル名を変更
    │ ├── mystyle.css
    │ └── one-page-wonder.min.css
    └── img
  • Chapter11 11節、12節 日記詳細/編集/削除ページにおいてURLからの直接アクセスでもログインユーザーが作成した日記にのみ、アクセス可能とする修正(2021年9月2日)

    日記詳細/編集/削除ページにおいてURLからの直接アクセスでもログインユーザーが作成した日記にのみ、アクセス可能とする修正(以下赤字部分を追加)は以下のとおりです。

    ・p263 リスト11.15 : diary/views.py
    (・・・略・・・)
    from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
    (・・・略・・・)
    class OnlyYouMixin(UserPassesTestMixin):
    # 以下test_func関数がFalseを返すと、raise_exceptionがTrueの場合は403ページに遷移し、False(デフォルト)の場合はログインページに遷移
    raise_exception = True

    def test_func(self):
    # URLに埋め込まれた主キーから日記データを1件取得
    diary = Diary.objects.get(pk=self.kwargs['pk'])
    # ログインユーザーと日記データの作成ユーザーを比較し、異なればraise_exceptionの設定に従う
    return self.request.user == diary.user
    (・・・略・・・)
    class DiaryDetailView(LoginRequiredMixin, OnlyYouMixin, generic.DetailView):
    (・・・略・・・)

    ・p275 リスト11.25 : diary/views.py
    class DiaryUpdateView(LoginRequiredMixin, OnlyYouMixin, generic.UpdateView):
    (・・・略・・・)

    ・p279 リスト11.29 : diary/views.py
    class DiaryDeleteView(LoginRequiredMixin, OnlyYouMixin, generic.DeleteView):
    (・・・略・・・)

    <解説>
    ログインユーザーとアクセスしようとしている日記データの作成ユーザーを比較し、異なればアクセスできない制御を含めたクラス(UserPassesTestMixinを継承したOnlyYouMixin)を作成しています。このクラスをDiaryDetailViewとDiaryUpdateViewとDiaryDeleteViewでそれぞれ継承することで詳細/編集/削除画面へのアクセス制御が可能となります。なおUserPassesTestMixinのDjango公式サイト ドキュメントは以下のリンク先になります。

    https://docs.djangoproject.com/ja/2.2/topics/auth/default/#django.contrib.auth.mixins.UserPassesTestMixin
  • p101 「データベースの作成」の追加情報

    パスワードを求められた時の対処法


    ※画像をクリックすると拡大表示されます

  • p184 「問い合わせページの表示を確認する」の追加情報

    mystyle.cssが反映されていない時の対処法


    ※画像をクリックすると拡大表示されます

  • p341 「本番運用環境にDjangoソースコードを配置する」の追加情報

    差分を反映する方法


    ※画像をクリックすると拡大表示されます

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2021年06月08日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 065
コード内一番上
4刷
{% extends 'base.html' %} ----- ①
{% extends 'parent.html' %} ----- ①
2020.07.16
1刷 216
コード内一番下に追加(コメントを含めて4行)
3刷
(・・・略・・・) # ログアウトリンクのクリック一発でログアウトする設定 ACCOUNT_LOGOUT_ON_GET = True
(・・・略・・・) # ログアウトリンクのクリック一発でログアウトする設定 ACCOUNT_LOGOUT_ON_GET = True # django-allauthが送信するメールの件名に自動付与される接頭辞をブランクにする設定 ACCOUNT_EMAIL_SUBJECT_PREFIX = '' # デフォルトのメール送信元を設定 DEFAULT_FROM_EMAIL = 'admin@example.com'
2020.04.24
1刷 254
「日記データを作成する」の「2.」2~3行目
4刷
日記データに紐づける一般ユーザーをあらかじめ作成しておきます。
日記データに紐づける一般ユーザーをあらかじめ作成しておきます。サインアップの流れの中で配信されるメールはPyCharmのコンソールに出力されます。
2021.06.08