Django 相關操作
建立專案demo01:
django-admin startproject demo01
檢視版本:
django-admin version
在 Django 中,每一個應用都是一個 Python 包,並且遵循著相同的約定。Django 自帶一個工具,可以幫你生成應用的基礎目錄結構,這樣你就能專心寫程式碼,而不是建立目錄了。
cd demo01
python manage.py startapp polls
預設開啟的某些應用需要至少一個數據表,所以,在使用他們之前需要在資料庫中建立一些表。請執行以下命令:
python manage.py migrate
建立模型:
from django.db importmodels class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes= models.IntegerField(default=0)
啟用模型:
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
現在你的 Django 專案會包含polls
應用。接著執行下面的命令:
python manage.py makemigrations polls
通過執行makemigrations
命令,Django 會檢測你對模型檔案的修改(在這種情況下,你已經取得了新的),並且把修改的部分儲存為一次遷移。
遷移是 Django 對於模型定義(也就是你的資料庫結構)的變化的儲存形式 - 它們其實也只是一些你磁碟上的檔案。如果你想的話,你可以閱讀一下你模型的遷移資料,它被儲存在polls/migrations/0001_initial.py
裡。別擔心,你不需要每次都閱讀遷移檔案,但是它們被設計成人類可讀的形式,這是為了便於你手動調整 Django 的修改方式。
Django 有一個自動執行資料庫遷移並同步管理你的資料庫結構的命令 - 這個命令是migrate
,我們馬上就會接觸它 - 但是首先,讓我們看看遷移命令會執行哪些 SQL 語句。sqlmigrate
命令接收一個遷移的名稱,然後返回對應的 SQL:
python manage.py sqlmigrate polls 0001
現在,再次執行migrate
命令,在資料庫裡建立新定義的模型的資料表:
python manage.py migrate