对于django中mysql中文乱码以及调用admin出错的解决办法

今天配置的时候遇到了两个问题,困扰了不久,而且久寻无果,,,不过还是终于搞定了。。。

  首先是pymysql的中文字符问题,错误如下:

  django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE6\\xA0\\x8F\\xE7\\x9B\\xAE' for column 'name' at row

需要将数据库设置为utf-8

修改 /etc/my.cnf 配置文件,然后重启mysqld。

配置文件可能是在/etc/mysql下的conf.d和.mysql.conf.d里。

在[mysql]下配置:default-character-set=utf8

在[mysqld]下配置:

default-character-set=utf8

init_connect=’SET NAMES utf8‘

重启即可。另外还得单独建立新的数据库,原来的不能用。

CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

搞定,网上说改django的TIME_Zone和Language_Code并没有用,另外python代码要用utf-8,文件首加

# -*- coding:utf-8 -*-

即可

之后数据库建立就没问题了

另一个`是使用admin模块的问题

AttributeError: 'WSGIRequest' object has no attribute 'user'


百度和google无果,,,之后在settings.py中把MIDDLEWARE改成MIDDLEWARE_CLASSES即可

woc!!!

希望能帮到需要的人,,,

ps:不会用csdn的编辑器,gg

你可能感兴趣的:(django,mysql,乱码,Daily letters)