歡迎光臨
每天分享高質量文章

如何基於Python搭建Django後臺管理系統

一、博客網站的創建

  1. 創建專案 

生成站點(sites)Model,這兩步驟第一篇有介紹,這裡就直接操作了 

二、資料庫配置

  1. 介紹一下資料庫的配置就是在setting裡面配置鏈接的資料庫,這裡系統以及配置好了,鏈接一個叫做db.sqlite3的資料庫,也許有讀者會問,這個資料庫在哪裡,我怎麼沒有,沒關係,你跑一下專案,系統就自動生成一個這個資料庫了,當然django也支持MySQL等其他資料庫,這裡為了方便講解,就用系統自帶的 

INSTALLED_APPS 這個引數是安裝myBlog這個專案中所有用到的Application,當然我們創建的sites也是一個Application,所有也加進去,下麵這幾個都是系統自帶的框架,預設安裝

  • django.contrib.admin —— 管理站點

  • django.contrib.auth —— 認證系統

  • django.contrib.contenttypes —— 用於內容型別的框架

  • django.contrib.sessions —— 會話框架

  • django.contrib.messages —— 訊息框架

  • django.contrib.staticfiles —— 管理靜態檔案框架

  1. 添加完sites到INSTALLED_APPS後需要執行下麵終端命令, migrate會查看INSTALLED_APPS的設置,並根據myBlog/settings.py檔案中的資料庫設置創建任何必要的資料庫表

python manage.py migrate


之後,我們運行一下專案,輸入http://127.0.0.1:8000/admin 看一下效果 

三、資料庫後臺搭建

  1. 到登錄頁基本完成一半啦,接下來就需要創建一個管理員賬戶用於登錄使用,

python manage.py createsuperuser

 
2. 創建完賬戶就可以去登錄了,效果如下 

3. 因為全部是英文,代碼君看不慣,想把他改成中文settings.py中將LANGUAGE_CODE 中的’en-us’ 改成 ‘zh-Hans’,這樣看起來是不是舒服多了 

四、創建資料庫模型

  1. 在sites中的models創建資料庫表的模型,如下圖,欄位有title、url、body、create_date, 

五、激活模型 
這步很關鍵,你每次修改model裡面的資料,都要從復執行這下麵這幾個步驟:

  1. 在 myBolg/settings.py 中,修改INSTALLED_APPS,引入要用到的Application,我們目前只有一個sites,已經取用過了,所以無需再取用

  2. 執行終端命令

python manage.py makemigrations
python manage.py migrate
  • 1

  • 2

 
3. 將model添加到sites/admin.py里 

4. 運行一下專案,打開管理界面,查看效果,然後你就看隨意添加Article內容啦 http://127.0.0.1:8000/admin 

 

六、踩坑總結

  1. UnicodeEncodeError: ‘ascii’ codec can’t encode characters 
    之前模型model中寫了一個方法 def str(self):這個是舊版本中用的方法,Django新版本要換成def unicode(self):, 這樣就解決了字串傳遞時出錯的問題,統一編碼為Unicode字串。

  2. OperationalError no such table / OperationalError table sites_article has no column named test 
    這是一類錯誤,就是我之前提醒的,我們增加model或者修改models.py裡面的代碼後,需要從新執行步驟五,步驟五的作用就是更新資料庫表的信息,比如你新增model中的一個欄位,沒有更新資料庫表,自然會報上面的錯誤 
    解決方法:運行步驟五的終端命令

python manage.py makemigrations
python manage.py migrate

作者:代碼君_Coder

源自:

https://blog.csdn.net/u012927188/article/details/78978611



赞(0)

分享創造快樂