美文网首页
一些Django的一些踩坑

一些Django的一些踩坑

作者: 红煌流星 | 来源:发表于2019-01-06 16:09 被阅读0次

    使用CBV时的一些报错

    • takes at most 1 positional arguments but 2 were given
      位置参数给多了,一般是在urls.py在没有写as_view()方法
      Screenshot from 2019-01-06 15-50-32.png
    • TypeError at XXX 'module' is an invalid keyword argument for this function
      类型错误,xxx参数是在这个函数里面是一个无效的关键字参数
      这个时候检查视图函数views.py,模板html可能排不出错,如果是一个需要post的页面,调试也很麻烦,回头看相关的定义,问题可能出现在模型定义上,事实上就是在models.py里外键的名称写错了。遇到TypeError类型错误要注意模型定义有没有出错,这也是一个因素。
    • Screenshot from 2019-01-06 11-03-21.png
    • Page not found(404) 目前的路径没有匹配,解析不了url。
      这时候{% url %}是对的,给的参数也是对的,就是没有办法给到正确中的url。下面的代码中,text,image,video是没办法解析url的,file却可以,原因是file没有换行,换行了就解析不了,算是Django模板语言的一个坑吧。
      关键代码在Text,Image, Viedo, File那.png
    无法解析url.png
    • Django发送邮件的坑
      用send_email()发送邮件,如果是qq的话,EMAIL_HOST_PASSWORD是填的授权码,不是密码,而且,不要有空格。如果是密码的话,返回的是1,成功,但是实际上还是没有邮件发出去的。
      这是我成功的配置:
    EMAIL_HOST = 'smtp.qq.com'
    EMAIL_HOST_USER = '你的QQ邮箱'
    EMAIL_HOST_PASSWORD = '16位授权码'
    EMAIL_USE_TLS = True
    EMAIL_PORT = 25
    

    用了EMAIL_USE_SSL就报错,不知为何。

    • 表单提交地址错误
      有时我们在提交表单时,提交的地址是提交给当前页面的,而地址是通过HTML代码的action属性指定的。提交给当前页面的时候,通过<form action=".">提交,可是submit之后提示页面不存在,这里可能的一个错误是url的设置,url的endpoint端点没有写/后缀,这回导致提交表单后找不到当前页面。

    相关文章

      网友评论

          本文标题:一些Django的一些踩坑

          本文链接:https://www.haomeiwen.com/subject/hypsrqtx.html