用Django框架開發一個簡單的企業網站(二)
現在已經搭建好了網站的基本框架,繼續完善後臺功能,既然要寫後臺,自然要準備好資料庫。
資料庫我選擇熟悉的mysql,用的navicat視覺化管理工具,這裡我建立了一個my_web的資料庫;建立好資料庫後在專案目錄下的settings.py檔案內配置資料庫連線資訊:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 資料庫引擎 'NAME': 'my_web', # 資料庫名,事先要建立 'USER': 'root', # 資料庫使用者名稱 'PASSWORD': 'root', # 密碼 'HOST': 'localhost', # 主機 'PORT': '3309', # 資料庫使用的埠 } }
記得在系統服務裡開啟mysql服務:
新建的資料庫裡面是沒有表的,配置好資料庫連線資訊後,執行manage命令更新資料表,Django會生成一些預設的表:
python manage.py migrate
這些表的作用,大家可以找度娘,其中auth_user表是儲存後臺管理員使用者資訊的,當然現在表裡是空的,需要我們執行命令建立一個超級管理員:
python manage.py createsuperuser
按照命令列的提示,依次輸入使用者名稱,郵箱,密碼(兩次),其中郵箱可以為空(直接回車跳過),輸入密碼的時候,可能是我電腦系統版本的原因,無論輸入什麼控制檯都不顯示(*號和游標都沒有);困擾了我好久,後面查了資料才知道,雖然沒顯示,但還是輸入了字元,這也算是一個小坑吧。
現在可以在資料表中看到管理員資訊了:
(理論上,直接在表裡寫入資料也可以建立超級管理員,不過貌似會報錯,這個沒有深入研究……)
開啟服務,訪問url就能看到後臺管理頁面了,不過為了看著舒服些,可以在settings.py內設定語言和時區:
LANGUAGE_CODE = 'zh-hans' # 指定語言(注意不要寫錯,否則無法啟動伺服器)
TIME_ZONE = 'Asia/Shanghai'
python manage.py runserver
http://127.0.0.1:8000/admin/
一些簡單的後臺修改可以在admin.py內設定,例如標題和網頁的title:
from django.contrib import admin
# Register your models here.
admin.site.site_header = '後臺管理'
admin.site.site_title = '後臺管理'
如果涉及到更復雜的後臺定製,例如模板佈局,樣式等就需要小折騰一番了,首先修改settings.py:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 優先使用專案模板路徑
'DIRS': [BASE_DIR + "/templates"],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
# 優先使用專案路徑
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
注意註釋的地方,有些配置項如果沒有,就手動新增吧。BASE_DIR預設在settings.py內,儲存當前專案的路徑。上面配置的修改也是為了後面開發的方便;Django預設在當前專案目錄static路徑下查詢靜態檔案(js,css等),templates路徑下查詢模板檔案(html檔案),例如後臺的模板頁面和樣式檔案;沒有找到檔案就會在Django的安裝目錄下呼叫。
如果不用定製後臺頁面,直接在專案目錄下,新建static,templates兩個資料夾路徑即可;需要深入定製開發後臺的話,找到Django的安裝目錄:
pip show django
進入contrib/admin/目錄下,直接把static,templates兩個資料夾複製到專案目錄下就可以為所欲為了~
現在我們的專案目錄:
先到這裡,後面的文章繼續完善開發。