django 错误集

这里聚集了一部分最近使用 Django 框架时报的错误,以及原因,后续如果还有,会继续补充,供自己以后查看。

错误一:

django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

原因说明及解决方案:
django 设置的database用户名或者密码错了,修改一下就可以了。

错误二:

django.db.utils.ProgrammingError: (1146, u"Table'' doesn't exist")

原因:
首次创建数据库时,否则表可能还未被创建导致报错,需要迁移数据库表和其他的内容
在命令提示符输入执行

python manage.py makemigrations			#同步应用
python manage.py migrate							 #同步数据库

错误三:

django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '192.168.1.101' (timed out)")

错误原因:
因为数据ip指向不对,所以不能连接到数据库,更改setting.py关于数据部分host对应的值修改为能正常使用的地址,例如127.0.0.1

错误四:

css样式未被获取,或者获取到后没有显示

第一步:检查网页(Chrome F12可以看到检查),查看是否正确获取到静态文件地址如下
在这里插入图片描述
如果这里是空白的,按Ctrl+R 页面会重新获取数据,然后点击就能看到静态文件路径,是否正确。

如果没有获取到正确链接,请移步。
首先:需要将静态文件放到同级的文件夹下,我这里用templates文件夹放静态网页文件,static 文件夹放置样式和其他内容。
如下图:
在这里插入图片描述
首先,将setting.py文件添加如下设置

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

其次,静态文件中有关文件引用如下:
在这里插入图片描述
结尾是{% endblock %}

第一行是继承至网页某某,这文件如果存在<!doctype html>,则没一个子文件都会有这一行,导致不能正常显示。
第二行 不重要
第六行 是加载静态文件的意思,必须要。
后面第三个箭头,表示引用静态文件的样式。

第二步:如果是正确的,但是没有样式效果,则考虑是不是静态文件的头部写了<!doctype html>,这行代码,这个会导致django的样式不能正常显示,用其他的写,就需要这一行。
在这里插入图片描述
这是被删了后的代码,最终可以正常显示。

错误五:

django 提供了密码加密和解密的功能,自己手动添加到数据库的用户,是不能正常登陆的。

详情见:Django框架之make_password && check_password(下面的链接)
详情见:https://blog.csdn.net/q3102885/article/details/83303415

错误六:

django.urls.exceptions.NoReverseMatch:Reverse for '<WSFIRequest:GET' ' /xxx/xxx/'>' not found.'<WSFIRequest:GET' ' /xxx/xxx/'>' is not a valid view function or pattern name. 

这里说这个对应的视图函数不对,这时候就需要检查views.py 中对应的函数有没有错误。

情况一
可能是函数中某个单词打错了,但是又没有检测出来。

情况二
可能是返回方式用错了,这个编辑器也不会检查出来。

直接返回网页内容:
return HttpResponse(response_html)
返回指定视图:
return render(request, 'home.html', {'borads': borad})
重定向到指定视图:
return redirect('board_topics', pk=board.pk)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值