Django項(xiàng)目【教育網(wǎng)站】:前期配置

環(huán)境:
Django 1.9.8
Python 3.5.2
MySQL 8.0.11

創(chuàng)建項(xiàng)目后在項(xiàng)目根目錄下新建以下目錄:

static:使用static目錄來(lái)存放網(wǎng)站的靜態(tài)文件:js,css,圖片等。
log:使用log目錄來(lái)存放網(wǎng)站的日志文件。
media:使用media目錄存放用戶上傳的圖片等資源。
apps:使用apps目錄用來(lái)存放網(wǎng)站應(yīng)用。在pycharm中將新建的app文件夾拖入apps文件夾內(nèi):會(huì)自動(dòng)生成__init__.py文件表明這是一個(gè)包。使得apps文件夾可導(dǎo)入。

apps文件被認(rèn)為是一個(gè)包,可以導(dǎo)入

現(xiàn)在設(shè)置項(xiàng)目的全局搜索路徑

設(shè)置全局后,可以告訴項(xiàng)目導(dǎo)我的網(wǎng)站應(yīng)用在哪個(gè)目錄中

不設(shè)置的話,導(dǎo)入每個(gè)應(yīng)用都需要指定應(yīng)用的目錄

編輯settings.py,設(shè)置apps路徑:


設(shè)置方法演示

因此我們需要在settings.py中加入這兩行代碼:

import sys
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

MySQL數(shù)據(jù)庫(kù)配置:

在settings.py中設(shè)置數(shù)據(jù)修改如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', #設(shè)置為MySQL
        'NAME': 'testdjango',  #使用的哪個(gè)數(shù)據(jù)庫(kù)
        'USER': 'root',  #數(shù)據(jù)庫(kù)賬號(hào)
        'PASSWORD': 'xxxxxx',  #數(shù)據(jù)庫(kù)密碼
        'HOST': 'localhost'  #數(shù)據(jù)庫(kù)IP,此為本地?cái)?shù)據(jù)
    }
}

安裝MySQL的Python驅(qū)動(dòng)模塊:

在 python2 中,使用 pip install mysql-python 進(jìn)行安裝連接MySQL的庫(kù),使用時(shí) import MySQLdb 進(jìn)行使用

在 python3 中,改變了連接庫(kù),改為了 pymysql 庫(kù),使用pip install pymysql 進(jìn)行安裝,直接導(dǎo)入即可使用

但是在 Django 中, 連接數(shù)據(jù)庫(kù)時(shí)使用的是 MySQLdb 庫(kù),這在與 python3 的合作中就會(huì)報(bào)以下錯(cuò)誤了

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

解決方法:在__init__.py 文件中添加以下代碼即可。

import pymysql
pymysql.install_as_MySQLdb()

額,找了一下卻沒(méi)有找到 install_as_MySQLdb() 這個(gè)方法的源碼,不過(guò)顧名思義應(yīng)該是讓 Django 把 pymysql 當(dāng)成 MySQLdb 來(lái)使用吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容