[TIL] Day 16 - Django (web framework)


Django


:PythonベースのWebフレームワーク

開始(feat.仮想環境venv)


仮想環境の構築とインストール
$ virtualenv venv
$ source venv/bin/activate
(venv) $ pip3 install django
ドラム開始(venv)省略
$ django-admin startproject <프로젝트 이름>
$ cd <프로젝트 이름>
$ python3 manage.py runserver
djangoプロジェクトの構成
->プロジェクトに複数のアプリケーションが含まれています.そこで、プロジェクトを開始したら、プロジェクトフォルダ(/project)にAppをインストールします.
$ django-admin startapp < 이름>

DjangoのMVTモード


User->Django->URL(urls.py)->ビュー->モデル(model.py)-DB(ORM)-テンプレート(HTML、テンプレート言語)

Django - view


:受信要求の処理
URL-Viewはバインドされているのでurlです.pyとviewpyとsettingpyも一緒に修正してバインドする必要があります.

admin IDの作成


まずデフォルトで生成されたDBを移行
$ python3 manage.py migrate
IDを作成します
$ python3 manage.py createsuperuser
username :
email :
password :

Django - View - Template

  • リクエスト時に表示する[.html]ファイル(テンプレートフォルダ内)
  • を生成する.
  • [view.py]は[.html]ファイルをレンダリング関数として
  • に渡す
  • [設定.py]テンプレートのDIRSにパスを保存する
  • テンプレート言語

  • template filter {{ string | length }}
  • template tag {% if %} {% endif %}
  • Django - View - Model


    :DB構造化

    models.pyのDB


    class宣言、すなわち、オブジェクトがデータベース内で各行になることを宣言します.
    内フィールドはDBで各列となります.
    フィールドにはそれぞれのプロパティがあります(charField、IntegerField...)

    admin.DBはpyで管理できます

    $ python3 manage.py makemigrations <App_name>
    # 마치 git add 처럼
    $ python3 manage.py migrate
    # 위 작업을 통해 model제작을 제작했음을 알려주어야 함

    Templateでモデルを確認する

  • models.pyにモデルDBを作成します.
  • views.pyからインポートすると、新しいビューまたはDBが返されます.
  • urls.pyからインポートした後、pathにアドレスを接続します.
  • Templateで確認します.pyで返される値をパラメータ変数として使用します.
  • フォームのオブジェクト(Form)からTemplateへのモデルの変更

  • form.py(新しいファイルとして)
  • を作成
    # form.py
    from django import forms
    form .models improt Coffee
    class CoffeeForm(forms.ModelForm)
    	class Meta :
        	model = Coffee
            fields = ('name','price','is_ice')

  • view.pyから.forms import coffeeFormの後、パラメータ{}を使用してformオブジェクト値を返します.
    POSTメソッド時のその他の操作

  • Template[.html]ファイルでformタグRESTfulを使用する
    セキュリティトークン追加フォームタグ間に{%csrf token%}を書き込む
  • ※git commit最近の情報の変更


    :最後のコミットされたメールを送信する前にローカルにいる場合は、
    $git commit--修正-m「変更するメッセージ」