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

Posted ExplorerMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习——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已建立。问题解决。

以上是关于Django学习——python manage.py startapp app-name新建app报错问题的主要内容,如果未能解决你的问题,请参考以下文章

Django路由系统

如何使用 Django 重命名模型?

Python学习之路

Python学习之路

Python学习---Django的基础学习180116

Django - 删除 M2M 字段但保留连接表