一個好的項目數據庫管理後台是必須的,今天教大家搭建Django網站後台,好了,開始進入正題
今天以搭建一個個人博客網站作為例子講解網站後台的搭建
一、博客網站的創建
創建項目
生成站點(sites)Model,這兩步驟第一篇有介紹,這裡就直接操作了
二、數據庫配置
介紹一下數據庫的配置就是在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 —— 管理靜態文件框架
添加完sites到INSTALLED_APPS後需要執行下面終端命令, migrate會查看INSTALLED_APPS的設置,並根據myBlog/settings.py文件中的數據庫設置創建任何必要的數據庫表
終端命令:python manage.py migrate
之後,我們運行一下項目,輸入http://127.0.0.1:8000/admin 看一下效果
三、數據庫後台搭建
到登錄頁基本完成一半啦,接下來就需要創建一個管理員賬戶用於登錄使用,
終端命令:python manage.py createsuperuser
創建完賬戶就可以去登錄了,效果如下
3.因為全部是英文,代碼君看不慣,想把他改成中文settings.py中將LANGUAGE_CODE 中的'en-us' 改成 'zh-Hans',這樣看起來是不是舒服多了
四、創建數據庫模型
在sites中的models創建數據庫表的模型,如下圖,字段有title、url、body、create_date
五、激活模型
這步很關鍵,你每次修改model裡面的數據,都要從復執行這下面這幾個步驟:
在 myBolg/settings.py 中,修改INSTALLED_APPS,引入要用到的Application,我們目前只有一個sites,已經引用過了,所以無需再引用
執行終端命令:
python manage.py makemigrations
python manage.py migrate
將model添加到sites/admin.py裡
運行一下項目,打開管理界面,查看效果,然後你就看隨意添加Article內容啦 http://127.0.0.1:8000/admin
六、踩坑總結
UnicodeEncodeError: 'ascii' codec can't encode characters
之前模型model中寫了一個方法 def str(self):這個是舊版本中用的方法,Django新版本要換成def unicode(self):, 這樣就解決了字符串傳遞時出錯的問題,統一編碼為Unicode字符串。
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