python3.5+django2.0快速入門(二)
配置資料庫
我們開啟mysite/mysite/settings.py這個檔案。
我們可以看到熟悉的databases,預設配置的資料庫是 SQLite,如果你想使用其它的資料庫,需要在檔案中的 DATABASES 'default' 改變適當的值。
os.path.join(BASE_DIR, 'db.sqlite3')
表示在你專案根目錄下的一個檔案。
比如我們想要連線mysql:
我們還可以通過這樣修改時區和中文設定。
我們還可以看到INSTALLED_APPS有這些應用
在django中一些應用程式使用至少一個數據庫表,因此我們需要在資料庫中建立表,然後才能使用它們。
直接在終端輸入命令:python manage.py migrate
建立模型
啟用模型
可以在INSTALLED_APPS裡面加上'staffadmin'或者'staffadmin.apps.staffadminConfig'
經過上面的操作我們已經註冊staffadmin這個應用了,因為我們之前對模型做了一些改變,並且你想要把這些改變儲存為 migration
。
直接在終端輸入命令:python manage.py makemigrations staffadmin
如果我們想知道這個命令到底做了些什麼,可以通過在終端直接輸入命令: python manage.py sqlmigrate staffadmin 0001
熟悉資料庫的同學一看就明白,這不就是建立資料庫表的操作命令嗎?沒錯的確如此。
然後我們還差最後一步就可以把資料庫建立起來,
直接在終端輸入命令: python manage.py migrate staffadmin
直到這一步,我們的資料庫已經建好。現在我還要提醒的是,migrate
命令會執行所有還沒應用的遷移,
並會在資料庫中執行相應的程式碼來同步你的修改.遷移是一個非常強大且有用的工具,可以讓你在開發專案的任何時候,
不需要對資料庫進行刪除增加等操作就完成修改,在升級資料庫資訊時也不會造成丟失.現在只需要記住以下這三個步驟:
- 修改你的模型(在 models.py 檔案中).
- 執行
python manage.py makemigrations
來為這些修改建立遷移. - 執行
python manage.py migrate
操作資料庫(models)
操作資料庫無非就是增刪改查。
首先我們在終端輸入命令python manage.py shell,然後先把我們的資料庫表引進來。
from staff.modles import Department
# 增 # models.Department.objects.create(department_name='市場部') 增加一條資料,可以接受字典型別資料 **kwargs # obj = models.Department(department_name='市場部') # obj.save() # 查 # models.Department.objects.get(id=1) # 獲取id=1的單條資料,不存在則報錯(不建議) # models.Department.objects.all() # 獲取全部資料 # models.Department.objects.filter(department_name='市場部') # 獲取department_name='市場部'的資料 # models.Department.objects.exclude(department_name='市場部') # 獲取除了department_name='市場部'的資料 # 刪 # models.Department.objects.filter(department_name='市場部').delete() # 刪除department_name='市場部'的資料 # 改 # models.Department.objects.filter(department_name='市場部').update(department_name='運營部') # 將department_name="市場部"改成"運營部",均支援 **kwargs # obj = models.Department.objects.get(id=1) # obj.department_name= '運營部' # obj.save() # 儲存資料 *當有一對多,多對一,或者多對多的關係的時候,先把相關的物件查詢出來 在這裡我提一下ForeignKey,ManyToManyField與OneToOneField分別是Model中定義多對一,多對多,一對一關係。 在本例的教程中,我們可以知道一個員工只有一個部門,一個部門可以有多個員工,所以用了ForeignKeyField
最後我們介紹一下admin站點的使用
首先我們先建立一個超級使用者的賬號
直接在終端輸入命令:python manage.py createsupperuser,然後根據提示輸入相關內容即可。
此時我們可以通過瀏覽器訪問http://127.0.0.1:8000/admin/,我們會看到下面的畫面。
此時我們發現我們寫的models沒有顯示出來,是因為沒有在admin上面註冊。
所以我們開啟mysite/staffadmin/admin.py這個檔案
然後我們把models引進來
寫下如下程式碼:
儲存程式碼,然後重新整理瀏覽器我們發現多了一個staffadmin的管理組
最後我們可以點進去看下到底有什麼
通過介面展示我們可以輕鬆的完成資料庫表的增刪改查的操作了。
由於時間緊迫,後面的就簡單的帶過了。可能寫的還有些不足,不明白的問題可以在下方評論區留言哈!