狠狠撸

狠狠撸Share a Scribd company logo
現場で使うDjango雑感
2021-06-30
西本卓也
@nishimotz / @24motz
Django
? Django > Laravel > Rails?
? https://note.com/benao_blog/n/n3875a11b2090
顿箩补苍驳辞奥别产アプリ开発実装ハンドブック
最初
? Windows + WSL2 + VS Code
? ソースからビルドした Python3.9
? プロジェクトを作ってアプリをつくる
? ディレクトリ階層が気持ち悪い
? mysite/mysite どうしてこうなる
? 「現場で使える」シリーズ akiyoko さん: プロジェクト名 config
? startproject config .
$ django-admin startproject --help
usage: django-admin startproject name [directory]
管理サイト
? Web+DB PRESS Vol. 122 の hirokiky さん記事
? ビューを実装する前に管理サイトでブログ記事を作る
? akiyokoさん「現場で使える Django 管理サイトのつくり方」
? 同人誌で152ページ!
? モデルでできることの理解に役立つ
? ちゃんと書くと form や view で書かなくてすむことがある
? verbose_name, verbose_name_plural
? TextChoices : 文字列 Enum の新しい書き方という話
? __str__ ちゃんと書くと便利
? manage.py shell で a = Apple.objects.get(pk=1) みたいに確認
マイグレーション
? 2段階=よいしくみなのでは?
? makemigrations
? モデルファイルの差分を見ているらしい
? "Please select a fix" と言われて考えさせられる
? キャンセル=生成された migrations ファイルを実行せずに削除
? migrate
? 未実行の migrations ファイルを実行してくれるらしい
? ロールバック
? migrage APPNAME zero で初期化
アプリケーション
? たいていの事例
? 作りたいアプリケーション
? accounts アプリケーション
? INSTALLED_APPS に登録する
? django.contrib.admin
? django-cleanup = django_cleanup.apps.CleanupConfig
? アップロードしたファイルの削除に役立つモジュール
? 自分が書くコードも一種のプラグインだと考える
フォーム、ビュー、テンプレート
? クラスベースのビュー
? ListView, DetailView, CreateView, UpdateView, DeleteView
? モデルに verbose_name とかがあると楽できる
? FormView
? モデルとひもづかないフォームが作れる
? submit ボタンを押すと form_valid() を叩いてくれる空のフォーム
? TemplateView
? フォームとひもづかないビューを作る
? LoginRequiredMixin などでアクセス制限
? フォーム: ModelForm とただの Form がある
? widget.attrs で HTML 要素の属性にアクセス
まとめ
? Django 勉強しやすい
? 「自走プログラマー」など知見も多い
? デプロイ方法??
? AWS EC2
? PythonAnywhere
? Heroku
? Render
? Anaconda 意外に需要?
? 今週末 DjangoCongress JP 2021
? https://django.connpass.com/event/214451/

More Related Content

210630 python

  • 2. Django ? Django > Laravel > Rails? ? https://note.com/benao_blog/n/n3875a11b2090
  • 4. 最初 ? Windows + WSL2 + VS Code ? ソースからビルドした Python3.9 ? プロジェクトを作ってアプリをつくる ? ディレクトリ階層が気持ち悪い ? mysite/mysite どうしてこうなる ? 「現場で使える」シリーズ akiyoko さん: プロジェクト名 config ? startproject config . $ django-admin startproject --help usage: django-admin startproject name [directory]
  • 5. 管理サイト ? Web+DB PRESS Vol. 122 の hirokiky さん記事 ? ビューを実装する前に管理サイトでブログ記事を作る ? akiyokoさん「現場で使える Django 管理サイトのつくり方」 ? 同人誌で152ページ! ? モデルでできることの理解に役立つ ? ちゃんと書くと form や view で書かなくてすむことがある ? verbose_name, verbose_name_plural ? TextChoices : 文字列 Enum の新しい書き方という話 ? __str__ ちゃんと書くと便利 ? manage.py shell で a = Apple.objects.get(pk=1) みたいに確認
  • 6. マイグレーション ? 2段階=よいしくみなのでは? ? makemigrations ? モデルファイルの差分を見ているらしい ? "Please select a fix" と言われて考えさせられる ? キャンセル=生成された migrations ファイルを実行せずに削除 ? migrate ? 未実行の migrations ファイルを実行してくれるらしい ? ロールバック ? migrage APPNAME zero で初期化
  • 7. アプリケーション ? たいていの事例 ? 作りたいアプリケーション ? accounts アプリケーション ? INSTALLED_APPS に登録する ? django.contrib.admin ? django-cleanup = django_cleanup.apps.CleanupConfig ? アップロードしたファイルの削除に役立つモジュール ? 自分が書くコードも一種のプラグインだと考える
  • 8. フォーム、ビュー、テンプレート ? クラスベースのビュー ? ListView, DetailView, CreateView, UpdateView, DeleteView ? モデルに verbose_name とかがあると楽できる ? FormView ? モデルとひもづかないフォームが作れる ? submit ボタンを押すと form_valid() を叩いてくれる空のフォーム ? TemplateView ? フォームとひもづかないビューを作る ? LoginRequiredMixin などでアクセス制限 ? フォーム: ModelForm とただの Form がある ? widget.attrs で HTML 要素の属性にアクセス
  • 9. まとめ ? Django 勉強しやすい ? 「自走プログラマー」など知見も多い ? デプロイ方法?? ? AWS EC2 ? PythonAnywhere ? Heroku ? Render ? Anaconda 意外に需要? ? 今週末 DjangoCongress JP 2021 ? https://django.connpass.com/event/214451/