关于python使用django创建mysql表报错问题的解决

django 默认使用的数据库是sqlite

在项目中通常用mysql作为数据库,这就需要对mysql进行一些基本配置

1.在与项目名同名的文件夹下找到setting文件,找到

# DATABASES = {
# ‘default‘: {
# ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
# ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
# }
# }  并将其注释

2.在下面加上mysql的配置

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘xxx‘,
‘USER‘:‘root‘,
‘PASSWORD‘:‘root‘,
‘HOST‘:‘localhost‘,
‘PORT‘:‘3306‘,
}
}

3.如果遇到如下报错:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

解决方案:

首先 pip install pymysql

再在项目名同名的文件夹下的__init__.py文件中

加入

import pymysql
pymysql.install_as_MySQLdb()

接下来如果遇到这个错误提示

raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.‘ % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

解决方案:

找到报错路径,如:E:\PycharmProjects\s14_day20\venv\Lib\site-packages\django\db\backends\mysql\base.py

找到文件将第35行 36行注释

再将operations文件的第146行:

query = query.decode(errors=‘replace‘) 改为query = query.encode(errors=‘replace‘)

至此 问题已经得到解决



原文地址:https://www.cnblogs.com/gongezh519618/p/11143042.html

时间: 2024-11-12 22:38:37

关于python使用django创建mysql表报错问题的解决的相关文章

Python、Django和Mysql安装步骤

很多初学者都问Python和Django怎么安装,这里我们就简单地介绍一下这两个软件在Windows 2003下的安装步骤. 一.下载并安装Python Python 官方下载地址:http://www.python.org/ftp/python/ 我们这里选择的是 Python 2.7.2 .虽然目前最新版是Python 3.2.2, 但是Django目前还不支持 Python 3.2.2. 安装步骤很简单,双击安装包开始安装,这里我们安装到 D:\Python,如图1, 图1 单击“Next

django 连接mysql报错

原因: 问题1. 即从mysql5.7版本之后,默认采用了caching_sha2_password验证方式. 问题2.  然后在执行 python manage.py makemigrations依然报错,如下图2/3   raise errorclass(errno, errval)   django.db.utils.OperationalError: (1045, u"Access denied for user 'root'@'localhost' (using password: Y

python的Django使用mysql基本操作

环境:Centos6.6 ,python2.6 准备工作: mysql的安装,以及MySQL-python的安装 http://www.cnblogs.com/zychengzhiit1/p/4437310.html 1.创建python 项目 django-admin.py startproject pythondemo 2.进入创建好的项目目录pythondemo,创建python应用 django-admin.py startapp blog 3.配置 settings.py 几处修改:

django配置mysql报错 no model named "MySQLdb"

官网上面连接mysql数据库的参数很少,入了不少坑,一直排错和检查参数都没有问题,只能manage.py mirgrate 更新数据库的信息创建数据库的表. 很是郁闷.报了一大堆的错误,大概意思就是说没有MySQLdb这个模块 . no model named "MySQLdb" 举手无措的我,吓尿了.翻了百度,查找方法,安装mysqldb,mysql-python试了很多个都不行. 最后想了想报错的最后一行.是否安装mysqlclient. 抱着试一试的心态,离线安装了一个mysql

Python使用Django创建第一个项目

一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. 2安装pippip 是 Python

python使用django创建项目详解

1.在合适位置创建一个目录2.打开黑屏终端进入上一步创建的目录3.输入 django admin startproject project(项目名)4.目录层级 5.配置mysql 在__init__.py文件中写入两行代码 import pymysql pymysql.install_as_MySQLdb() 在setting.py中找到DATABASE把sqllite换成mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backend

python框架-Django创建项目

创建项目 django-admin startproject douban//创建project cd douban python manage.py startapp books//创建app项目 配置文件 在douban文件夹下 1.vim books/views.py//写入页面程序 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.shortcuts import render # Cr

python使用单例模式创建MySQL链接

代码: from functools import wraps import mysql.connector from sshtunnel import SSHTunnelForwarder def singleton(cls): instances = {} @wraps(cls) def get_instance(*args, **kw): if cls not in instances: instances[cls] = cls(*args, **kw) return instances[

django配置mysql报错

错误信息: django.db.utils.OperationalError: (1045, "Access denied for user 'pyvip'@'localhost' (using password: NO)") 可能的原因: 1)数据库密码错误 2)加密方式导致的错误 解决方式 https://blog.csdn.net/q258523454/article/details/84555847 https://www.jianshu.com/p/e232d5a279d2