Django學習(1)——python manage.py startapp app-name新建app報錯問題


作為一個剛接觸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已建立。問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM