[Django]学習長期公式チュートリアル-part 1&Part 2


ついに私の最初の文章!今までアップしなきゃいけなかったんだけど、忙しくて(言い訳だけど、、、、)アップできなかった.今から毎週2日間のポジションを実現します!昨夏スプリングを習いましたが、初心者にとっては確かに大変なフレームワークでした.まず、倉庫で作ったチュートリアルから第4部まで、倉庫がどのように働いているのか、どのようなフレームワークなのかを学び、その中で重要に見える部分を簡単にまとめました!
Part 1
1.プロジェクトとアプリケーションの作成
$ django-admin startproject mysite #프로젝트 생성
$ python manage.py runserver #개발 서버 실행
$ python manage.py startapp polls #설문조사 앱 생성
2.ビューの作成
#polls/views.py
from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
  • ビューを呼び出すには接続するURLが必要であるため、URLConfが生成され、ポーリング中にURLが表示される.
  • が生成されました
    #polls/urls.py
    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.index, name='index'),
    ]
  • の一番上のURLconfで投票します.urlsモジュールを
  • に設定
    #mysite/urls.py
    from django.contrib import admin
    from django.urls import include, path
    urlpatterns = [
        path('polls/', include('polls.urls')),
        path('admin/', admin.site.urls),
    ]
  • include()関数は、他のURLConfを参照するのに役立ちます.Djangoが関数include()に遭遇した場合、一致する部分はURLの時点に切り取られ、残りの文字列部分はincludeのURLConfに渡され、後続の処理に使用されます.
    Part 2
    1.モデル
  • モデルとは、追加のメタデータを有するデータベースの構造
  • を指す.
  • データベースの各フィールドは、Fieldクラスのインスタンスとして表示され、Djangoの各フィールドにどのようなタイプのデータを持つことができるかを示します.
  • 2. migration
  • makemigrationはDjangoに、モデルの変更を移行として保存することを伝えます.
    $ python manage.py makemigrations polls
  • migrateコマンドは、まだ適用されていないすべての移行を収集し、実行し、モデル内の変更をデータベース内のモードと同期します.
  • $ python manage.py migrate
    3.モデルの作成
  • Question model
  • class Question(models.Model):
        question_text = models.CharField(max_length=200) #CharField => 문자(character) 필드
        pub_date = models.DateTimeField('date published') # DateTimeField => 날짜와 시간(datetime) 필드 
        def __str__(self):
            return self.question_text
        def was_published_recently(self): #시간 관련 커스텀 메소드
            return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
  • Choice model
  • 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