Djangoのツボとコツがゼッタイにわかる本を読んでわかった

Djangoのツボとコツがゼッタイにわかる本
を読んだ

マスタカといえば
うーじゃんご!!!!!
そんなわけで本書を読んでみた。


・本書の内容
初心者向けに書かれた本
PythonとDjangoわからない人というよりは
プログラミング初心者が読んでも理解できるように書かれてる

 

環境
・venv
pyhonのバージョン管理は仮想環境で分離する。
本書だとvenvを利用していた。
https://code-graffiti.com/virtual-environment-on-mac-with-venv-in-python/

・black
ソースコードのフォーマット
black aaa.py
するとソースが整えられる。

・freeze
pipを持ち運ぶことができる

pip freeze > requirements.txt
pip install -r requirements.txt

https://qiita.com/bluepost59/items/c13c88a9387e28189d7b

 

Django
・startproject
まずはproject
django-admin startproject mysite
https://qiita.com/t-iguchi/items/f658d607888449cfdf23

・startapp
Djangoはプロジェクトの下にappを複数作る文化
python manage.py startapp hogehoge
https://www.tohoho-web.com/django/manage.html

・マイグレーションとユーザー作成
makemigrate
migrate
createsuperuser

・Views
function base view
class base view
の2通りがある。
class base viewは用意されてるもの。

・処理の流れ
projectのurl.pyでappを読み込む
appのurl.pyでentry point
models.pyでviewで使うDBを書く
views.pyでviewのtemplateに渡す処理を書く
templatesの中のhtmlを読み込む

・get_context_data
複数のテーブルを取得するために使う

・get_object
objectを取得するために使う。
contextより情報は少ないとのこと
本書だとユーザ名取得のために利用していた

・get_success_url
リダイレクト先の指定

・form_valid
バリデート成功時の処理
https://note.com/mihami383/n/n29630c65abf6

 

Python
・__str__
def __str__(self):
で表示文字列を変えれる

 

エラー
・NameError: name ‘helloworldfunc’ is not defined
以下で解消する

from . import views
urlpatterns = [
path('helloworldurl', views.helloworldfunc)

https://stackoverflow.com/questions/49461537/nameerror-name-hello-world-is-not-defined

 

初心者向けなのでわかりやすいと思います。
Pythonに興味を持ってwebサイトを作りたい人におすすめしたい1冊です。

関連記事:

Pocket