我一直在安装MySQLdb,一直,都不知道搞了多久,后来,后来的后来,md!!!!!!!!!!才知道py3早就不支持这个了,MySQLdb在py3中已被pyMySQl取代了,绝望做了好多无用功,估计mysql-python也是这样的,要不然为何人家就更新到2.7的版本就不更新了。所以,如果你在py3的版本下被mysql-python或者MySQldb折磨,那么久果断放弃吧,明明就有pymysql这样好安又好用的东西和外面那些妖艳贱货不一样,不一样!非得在其他树上吊死不成,好吧,现在上代码,
废话就不讲了,pymysql的具体使用方法,自行百度吧,皮卡丘,重点下面
import pymysql db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='yyyy', db='pytohn',charset = "utf8",cursorclass=pymysql.cursors.DictCursor) cur = db.cursor() cur.execute("SELECT VERSION()") data = cur.fetchone() print("Database version : %s " % data) db.close()
如果你的pymysql报错:tuple no model .......cursor ,
对,看仔细了,找不到cursor,
然后你看看你的参数最后有没有向我给的,一定要有最后一个参数 cursorclass = pymysql.cursor.DictCursor
Django下面pymysql的使用:
1、在sitting文件中配置database
最后那一行我也不知道是干什么的存在
注意:USER等等等。。。。都要大写,大写!,我也不知道为什么。要不然会出现以下错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。鬼知道这是为什么(好像把大佬们都骂了一遍)
2、在init中配置mysql链接方式,指定链接方式为pymysql,而不是默认的MySQLdb(py3中mysqldb很难启动)
import pymysql
pymysql.install_as_MySQLdb()
就这样,然后python manage.py runserver,就OK了
当不使用数据库作为存储,而是储存在项目本地时就不用连接数据库,只需要,在默认条件下制作数据迁移
1、在model.py 中制作数据字段
from django.db import models # Create your models here. class Ariticle(models.Model): title = models.CharField(max_length=20,default="title") content = models.TextField(null=True)
2、在工程目录下执行数据迁移
python manage.py makemigrations appname(最后一个参数可选,如果不指定项目名称的话就会将工程中所有项目都制作数据迁移)
然后是python manage.py migrate
这样就自动将数据生成到本地的项目目录下的migrate目录下面,
3、可以在命令行查看生成的数据
python manage.py sqlmigrate appname(blog) tablename(0001)
4、真正的数据表是在mysql里面,这个要使用专门的数据库软件才可以将它打开
5、注意在mysql中新建数据库时一定要选择Unicode utf-8