• 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已建立。问题解决。

  • 相关阅读:
    nput="file" 浏览时只显示指定excel文件,筛选特定文件类型
    SSM三大框架的运行流程、原理、核心技术详解
    HttpServletRequest和ServletRequest的区别
    拦截器(Interceptor)与过滤器(Filter)的区别
    springboot整合webservice
    SpringBoot配置Cors解决跨域请求问题
    多线程同步锁和死锁以及synchronized与static synchronized 的区别
    大批量数据导出excel
    查看MySql版本号命令
    分布式锁初认识
  • 原文地址:https://www.cnblogs.com/ExMan/p/9360062.html
Copyright © 2020-2023  润新知