[Back] Django
🧐 Today I Learned (TIL)
1.Djangoのインストール
macでpythonを実行すると、デフォルトのインストールの2.7バージョンが実行されます.したがって、v 3を使用してインストールと変更を行うことができます.
# python3 설치
brew install python3
echo "alias python=/usr/local/bin/python3" >> ~/.zshrc
echo "alias pip=/usr/local/bin/pip3" >> ~/.zshrc
source .zshrc
# Django 설치
python -m pip install Django
2.Djangoベース
Djangoドキュメントのアンケートアプリ作成チュートリアルで行います.
2-1. プロジェクトの作成
プロジェクトを作成すると、最も重要なファイルは3つあります.
django-admin startproject mysite
2-2. プロジェクトの実行
最も基本的な構成項目で実行され、デフォルトで提供されている画面を表示できます.
python manage.py runserver
2-3. ルート
チュートリアルの指示に従ってアンケートアプリを作成します.
python manage.py startapp polls
コードを変更して実行すると、接続時にmysiteディレクトリのurls.py
のpath('polls/', include('polls.urls'))
コードを介してポーリングディレクトリのurls.py
ルーティングをチェックできます.admin.py
これはユーザー用のファイルです.
models.py
データベースにアクセスするファイル.
views.py
ビジネスロジックを含むファイル.
2-4. モデリング
一部の基本アプリケーションでは、少なくとも1つのデータベース・テーブルが使用されます.したがって、データベースは
migrate
コマンドを発行してテーブルを事前に作成します.(デフォルトデータベースSQLiteを使用)python manage.py migrate
models.py
は、データベースモデリング用のファイルです.同様に、チュートリアルmodels.py
に従ってQuestionクラスとChoiceクラスを定義し、settings.py
ファイルでINSTALLED_APPS
を変更して、現在のプロジェクトに投票アプリケーションがインストールされていることを通知します.makemigrations
命令を実行することによって、models.py
に定義された内容に従って0001_initials.py
ファイルを生成することが決定される.python manage.py makemigrations polls
0001_initials.py
ファイルを使用して、内部で実行されるSQL文を確認できます.python manage.py sqlmigrate polls 0001
最後にShellを開き、データベースにデータを入れて確認します.python manage.py migrate
python manage.py shell
>>> from polls.models import Choice, Question
>>> from django.utils import timezone
>>> q = Question(question_text="What's new?", pub_date=timezone.now())
>>> q.save()
>>> Question.objects.all()
>>> q.question_text
>>> q.question_text = 'hey'
>>> q.save()
>>> q.question_text
>>> q.pub_date
>>> Question.objects.get(pk=1)
2-3. 管理者
Djangoは基本的な管理者ページを提供しています.
migration
から管理者ページに移動できます.python manage.py createsuperuser
Username: admin
Email address: [email protected]
Password:
python manage.py runserver
チュートリアルのように
http://127.0.0.1:8000/admin/
ファイルを変更し、管理者のWebサイトに変更可能なポーリングアプリケーションを設定すると、データベースで生成されたテーブルを操作できます.2-4. 表示
ビューは、Djangoアプリケーションが通常特定の機能とテンプレートを提供するページです.チュートリアルに従って行うと、通常のhtmlドキュメントとは異なり、
admin.py
を使用して作成されていることがわかります.{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
チュートリアルでは、詳細に閲覧できるページをPath Variableで整理し、閲覧できないコンテンツに対して404ページを整理します.さらに、urlハードコーディングコードを削除する方法、または{% %}
で提供される関数を使用してコードをより簡便に記述する方法についても説明する.<!-- 하드 코딩 -->
<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
<!-- 하드 코딩 제거 -->
<li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>
2-5. 棚
チュートリアルに従うと、フォームに入力した結果がDBに反映されるように構成されます.
📚 リファレンス
Reference
この問題について([Back] Django), 我々は、より多くの情報をここで見つけました https://velog.io/@maketheworldwise/Back-Djangoテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol