学习心得------Django通过配置使用mysql数据库

  1. 建立MySQL数据库
    create database bj18 charset=uft8;
    use bj18;

2.创建项目
workon py3
django-admin startproject test2
3.创建应用
python manage.py startapp booktest
4.注册应用,修改语言时区
# LANGUAGE_CODE = ‘en-us’
LANGUAGE_CODE = ‘zh-hans’
中文
#TIME_ZONE = ‘UTC’
#中国时区

TIME_ZONE = ‘Asia/Shanghai’

INSTALLED_APPS = [
‘booktest’,
]
5.修改使用数据库类型
DATABASES = {
‘default’: {
#‘ENGINE’: ‘django.db.backends.sqlite3’, #注释掉这一行
加上下面内容
‘ENGINE’: ‘django.db.backends.mysql’,
#‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3’)
‘NAME’:‘bj18’, #数据库必须手动创建
‘USER’:‘root’,
‘PASSWORD’:‘123’,
‘HOST’:‘localhost’,
‘PORT’:3306,
}
}

  1. 启动服务器
    python manage.py runserver
    发现 ‘no module named MYSQLdb’

  2. 安装pymysql
    pip list 发现没有
    pip install pymysql

  3. 在__init__.py中 加上
    import pymysql
    pymysql.install_as_MySQLdb()

9.启动python manage.py runserver服务器的时候又发现问题

由于 mysqlclient 目前不支持高版本python,出现这个错误之后可以根据错误提示找到文件位置,打开 base.py 文件,找到以下代码:

version = Database.version_info
if version < (1, 3, 13):
raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)
将 if 语句注释掉之后在执行命令就不会再报错

version = Database.version_info

if version < (1, 3, 13):

raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)

找了半天都找不到base.py 在哪里,最后才发现报错的地方有路径,顺着路径就能找到

之后还有一个问题:
AttributeError: ‘str’ object has no attribute ‘decode’
/home/mm/.virtualenvs/py3/lib/python3.6/site-packages/django/db/backends/mysql/operations.py

line 146, 把decode 改成encode

10.在model.py里建立模型类

from django.db import models

class BookInfo(models.Model):
btitle = models.CharField(max_length=20)
bpub_date = models.DateField()
# 阅读量
bread = models.IntegerField(default=0)
bcomment = models.IntegerField(default=0)
# 删除标记.软删除标记
isDelete = models.BooleanField(default=False)

class HeroInfo(models.Model):
hname = models.CharField(max_length=20)
hgender = models.BooleanField(default=False)
hcomment = models.CharField(max_length=200)
# 关系属性
hbook = models.ForeignKey(to=BookInfo, on_delete=models.CASCA

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值