python3.5+django2.0快速入門(二)


昨天寫了python3.5+django2.0快速入門(一)今天將講解配置數據庫,創建模型,還有admin的后台管理。

配置數據庫

我們打開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的管理組

最后我們可以點進去看下到底有什么

通過界面展示我們可以輕松的完成數據庫表的增刪改查的操作了。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM