|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大佬我又没辙了
这是Django里的settings.py的配置
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.mysql', # 改为mysql mysql -uroot -p123456
- 'HOST': '127.0.0.1', # mysql指定IP
- 'PORT': '3306', # 指定端口号 show global variables like'port';
- 'USER': 'root ', # 用户名
- # 修改密码
- # 1、use mysql
- # 2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
- 'PASSWORD': '123456', # 密码 show databases; show tables;
- 'NAME': 'dj09' , # 指定数据库 python manage.py makemigrations;
-
- }
- }
复制代码
这是那啥init里面的配置
- import pymysql
- pymysql.install_as_MySQLdb() # 设置使用MYSQLDB
复制代码
然后models的配置像这样
- from django.db import models
- # Create your models here.
- # 自己编写模型类 继承Model
- # 对象-关系-映射 中间人
- class BookInfo(models.Model):
- """
- 通过定义类的方式来实现和数据库中的字典和数据库名
- 类中的属性--数据库中的字段 字段有类型,长度,是否显示
- 类名----数据库中的表
- """
- # 定义变量 和数据库中的字段一一对应
- # ID 在模型类中ID是可以自动生成的
- # 字符串
- name = models.CharField(max_length=20,verbose_name='名称')
- # 发布日期 null=True 当我们的属性中使用了null-True 这个字段可以不传
- pub_date = models.DateField(verbose_name='发布日期', null=True)
- # 阅读量 default 默认的值
- readcount = models.IntegerField(verbose_name='阅读量',default=0)
- # 评论量
- commentcount = models.IntegerField(verbose_name='评论量',default=0)
- # 逻辑删除(下架但数据库还有) 布尔类型
- is_delete = models.BooleanField(default=False,verbose_name='逻辑删除')
- # 如果不去指定类名 ---子应用名_模型类名
- class Meta:
- db_table = 'bookinfo' # 指明数据库表名
- verbose_name = '图书' # admin 里面去显示名称的
- verbose_name_plural = verbose_name # admin 显示的时候以复数的型式显示
- def __str__(self):
- # 定义了每个数据对象的显示信息
- return self.name
复制代码
然后开始迁移
显示密码啥啥啥的错误,可是密码改过了cmd登录也没有半点问题
- RuntimeWarning: Gror checking a consistent migration history performed for database connection 'default': (1045, "Access denied for user 'root '@'localhost' (usword: YES)")
- warnings.warn(
- No changes detected
复制代码
Django运行页面也是报错
- django.db.utils.OperationalError: (1045, "Access denied for user 'root '@'localhost' (using password: YES)")
复制代码
这可咋办啊
应该是'root',不是 'root ', 多了个空格。。用户名错误,挺明显的吧。。 
|
|