作為一個剛接觸python的小白,開始學習Django注定前路漫漫,記錄一下學習過程中的問題和解決方案。
感謝“自強學堂”的無私奉獻,根據教程安裝了Django 1.9.12后,嘗試新建項目,此時使用python manage.py startapp app-name 一直無法建立app。錯誤的最后一行是“django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3”作為小白,直接百度了一下這句話,發現沒有sqlite數據庫。不對,我要連接的應該是mysql數據庫。
繼續百度。
Django中對數據庫的設置是在settings.py這個文件中。打開該文件發現里面主要的配置均帶有官網的鏈接,果斷上官網,找到數據庫配置如下:
# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
根據官網的指導,將數據庫引擎改成mysql,並做了相關配置。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '***', #數據庫名
'USER': '****', #數據庫用戶名
'PASSWORD': '*******', #數據庫密碼
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
備份了原文件並修改之后,嘗試執行python manage.py startapp app-name 繼續報錯。。。。“No module named MySQLdb” 。好吧我已經安裝了pymysql了,要不裝個MySQLdb吧。各種yum/pip 安裝不成功。不怎么有耐心,主要是pymysql是mysqldb的升級版,應該可以用才對。
繼續百度。
找到方法。
在站點的__init__.py文件中,添加如下代碼:
1 import pymysql 2 pymysql.install_as_MySQLdb()
配置之后,執行python manage.py startapp app-name 不再報錯,打開文件夾,app已建立。問題解決。