1. 程式人生 > >用Django框架開發一個簡單的企業網站(二)

用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兩個資料夾複製到專案目錄下就可以為所欲為了~

現在我們的專案目錄:

先到這裡,後面的文章繼續完善開發。