标签:published error: end 分析 date 127.0.0.1 本机 app 用户名
【问题背景】
django使用mysql做为后台数据库、在使用django的自动化测试命令test时报如下错误
python3 manage.py test polls Creating test database for alias ‘default‘... Got an error creating the test database: (1044, "Access denied for user ‘appuser‘@‘127.0.0.1‘ to database ‘test_tempdb‘")
报错非常明显了appuser@‘127.0.0.1‘这个用户没根据
【收集信息与问题分析】
1、django的数据库配置信息如下
#以下是使用MySQL的配置 DATABASES = { ‘default‘:{ ‘ENGINE‘: ‘django.db.backends.mysql‘, # 后台数据库的类型 ‘HOST‘: ‘127.0.0.1‘, # 后台数据库所在主机的ip我这里用本机 ‘PORT‘: 3306, # 后台数据库所监听的端口 ‘USER‘: ‘appuser‘, # 连接数据库的用户名 ‘PASSWORD‘: ‘123456‘, # 连接数据库的密码 ‘NAME‘: ‘tempdb‘, # 数据库中的schema名字 } }
从这里可以看出来test_tempdb并不是真正的后台数据库、它是一个在测试时临时用的数据库、那么问题就解决了我们要给appuser一个相对比较大的权限
就可以了,在这里我暴力一点直接给它一个all权限
【解决方案】
给appuser赋权
grant all on *.* to ‘appuser‘@‘127.0.0.1‘;
【验证】
python3 manage.py test polls Creating test database for alias ‘default‘... System check identified no issues (0 silenced). E ====================================================================== ERROR: test_was_published_recently_with_future_question (polls.tests.QuestionModelTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/jianglexing/Desktop/mysite/polls/tests.py", line 17, in test_was_published_recently_with_future_question time = datetime.now() + datetime.timedelta(days=30) AttributeError: module ‘datetime‘ has no attribute ‘now‘ ---------------------------------------------------------------------- Ran 1 test in 0.004s FAILED (errors=1) Destroying test database for alias ‘default‘...
标签:published error: end 分析 date 127.0.0.1 本机 app 用户名
原文地址:https://www.cnblogs.com/JiangLe/p/9537257.html