Djangoプロジェクトpt 1の作成


プロジェクトの最初の作成
$ django-admin startproject mysite
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
ドラムプロジェクトが正常に稼働しているかどうかを見てみましょう.
$ python manage.py runserver
アプリケーション管理を作成します.pyが存在するディレクトリに、次のコマンドを入力します.
$ python manage.py startapp polls
polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py
ビューの作成
from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
ビューを呼び出すには、←に関連付けられたURL←このためにURLConfを使用する←ポーリングディレクトリにURLConfを作成するにはurlsを使用します.pyファイル(vim urls.py)を作成する必要があります.
from django.urls import path # 이것도 어디 sys에 django.http랑 같이 있겠지...?
from . import views # 같은 디렉토리에 있는 views.py 파일을 불러옴.
urlpatterns = [
	path('', views.index, name='index'), # view.py 안에 내가 만들어둔 index라는 함수를 데려왔네
]
from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),
]
トップクラスURLconfでポーリングします.urlsモジュールを表示
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

include()を使うべきですか?
異なるURLパターンが含まれるたびにinclude()を常に使用する必要があります.admin.site.urlsは唯一の例外です
path()関数には2つの必須引数routeとviewがあり、2つのオプション引数があり、kwarsとnameに4つの引数が渡されます.

path()パラメータ:route


routeはURLモードを持つ文字列です.要求を処理すると、Djangoはurlpatternsの最初のモードから開始し、一致するモードが見つかるまで、要求されたURLを各モードとリストの順序で比較します.
モードはGETまたはPOSTのパラメータまたはドメイン名を検索しません.たとえば、要求https://www.example.com/myapp/の場合、URLConfはmyapp/セクションのみを表示します.https://www.example.com/myapp/?page=3、同様の要求、URLConfはmyapp/部分にのみ関心を持っている.

path()パラメータぱらめーた:view


Djangoで一致するパターンが見つかった場合、HttpRequestオブジェクトを最初の引数とし、パスの「キャプチャ」値をキーワード引数として特定のview関数を呼び出します.

path()パラメータ


キーワードパラメータは、ターゲットビューに辞書形式で渡されます.

path()パラメータ:name


URLに名前を付けると、Djangoの任意の場所(テンプレートを含む)で明確に参照できます.この強力な機能により、1つのファイルを変更するだけでプロジェクト内のすべてのURLモードを変更できます.
$ python manage.py migrate
migrateコマンドは/mysite/settingsです.pyファイル内のINSTALLED APPSを表示したり、必要なデータベースを生成したり、変更を保存したりすることができます.つまり、このコマンドを実行すると、必要なデータベースの基本構造が作成されたと理解できます.
モデルのアクティブ化
import datetime
from django.db import models
from django.utils import timezone
class Choice(models.Model):
	question = models.ForeignKey(Question, on_delete=models.CASCADE)
	choice_text = models.CharField(max_length=200)
	votes = models.IntegerField(default=0)
	def __str__(self):
		return self.choice_text
python manage.py makemigrations polls
python manage.py migrate
makemigrationsコマンドはDjangoにモデルを変更した(またはモデルを作成した)ことを伝え、これらの変更をmigrationとして保存したいと伝えます.