Django开发查错总结

django2.2的bug

1.如果出现问题,先去到view.py里面,先删去render,然后在return之前加上一条print(‘1’),再使用HttpResponse返回一个字符串‘’2看看,如果1显示在终端,2显示在浏览器,那么一般是模板出现问题,接下来去查模板,模板不好查,需要一点一点查
2.有时候在cmd里面可以run起来,但是使用IDE的run按钮报错了,那么这时我们应该相信cmd,因为有可能说IDE的环境没有配置好。
3.django2.2版本本身存在一个bug(这个问题是编码问题,mac与Linux默认是Unicode编码,一般不会有问题,Windows是gbk编码,所以出现问题),有时候进行models层操作的时候浏览器出现:
A server error occurred. Please contact the administrator.
在这里插入图片描述

解决办法如下D:\Users\acer\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\views\debug.py
在views/debug.py里面的open函数和read函数里面加上coding="utf8"即可

    def get_traceback_html(self):
        """Return HTML version of debug 500 HTTP error page."""
        with Path(CURRENT_DIR, 'templates', 'technical_500.html').open(encoding="utf8") as fh:
            t = DEBUG_ENGINE.from_string(fh.read(encoding="utf8"))
        c = Context(self.get_traceback_data(), use_l10n=False)
        return t.render(c)

然后重启即可

Django2.0的bug:

https://blog.csdn.net/zhuyongru/article/details/99677313

model层的bug

  • 在创建表的时候,如果有同名的表会创建失败
  • 多对多关系表增加,add()里边传的是对象,或者加上*,传一个QuerySet,QuerySet里边是对象,不能直接传某一列作为参赛,可以传id
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    删的是id

admin遇到的bug

  • 当创建完模型后,我们需要去setting.py里面去添加上app,然后进行相应表的生成,但是如果我们想通过admin进行管理,那么必须要去admin.py里面进行注册,即
from django.contrib import admin
from .models import Course, Lesson, Video, CourseResource
# Register your models here.
admin.site.register([Course, Lesson, Video, CourseResource])

注意当有多个class(四个或者以上),必须使用这种列表的形式,否则是会报错的,因为不用列表register方法只支持2个到3个参数的

表单的bug

传文件时表单记得加上这个,否则print(file)老是为None,都怀疑人生了.
<form enctype="multipart/form-data" method="POST" action="/login/">

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值