標籤:報錯 代碼 pymysql 教程 app init tab password mysql
作為一個剛接觸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 pymysql2 pymysql.install_as_MySQLdb()
配置之後,執行python manage.py startapp app-name 不再報錯,開啟檔案夾,app已建立。問題解決。
Django學習(1)——python manage.py startapp app-name建立app報錯問題