Django学习(1)——python manage.py startapp app-name新建app报错问题

时间:2023-12-19 15:58:02

作为一个刚接触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已建立。问题解决。