1. 程式人生 > >python3.5+django2.0快速入門(二)

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的管理組

最後我們可以點進去看下到底有什麼

通過介面展示我們可以輕鬆的完成資料庫表的增刪改查的操作了。

由於時間緊迫,後面的就簡單的帶過了。可能寫的還有些不足,不明白的問題可以在下方評論區留言哈!