您的位置:首页 > 移动开发

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

2017-02-10 16:01 597 查看
作为一个刚接触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已建立。问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: