一、部落格網站的建立
-
建立專案
生成站點(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 看一下效果
三、資料庫後臺搭建
-
到登入頁基本完成一半啦,接下來就需要建立一個管理員賬戶用於登入使用,
2. 建立完賬戶就可以去登入了,效果如下
3. 因為全部是英文,程式碼君看不慣,想把他改成中文settings.py中將LANGUAGE_CODE 中的’en-us’ 改成 ‘zh-Hans’,這樣看起來是不是舒服多了
四、建立資料庫模型
-
在sites中的models建立資料庫表的模型,如下圖,欄位有title、url、body、create_date,
五、啟用模型
這步很關鍵,你每次修改model裡面的資料,都要從復執行這下麵這幾個步驟:
-
在 myBolg/settings.py 中,修改INSTALLED_APPS,引入要用到的Application,我們目前只有一個sites,已經取用過了,所以無需再取用
-
執行終端命令
-
1
-
2
3. 將model新增到sites/admin.py裡
4. 執行一下專案,開啟管理介面,檢視效果,然後你就看隨意新增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中的一個欄位,沒有更新資料庫表,自然會報上面的錯誤
解決方法:執行步驟五的終端命令
作者:程式碼君_Coder
源自:
https://blog.csdn.net/u012927188/article/details/78978611