1、找不到模板,即使在setting.py添加了TEMPLATE_DIRS选项,也重启了django.最终还是报无法找到模板。如图:
解决方法:
注释掉setting.py文件里django系统自动生成的 TEMPLATES,然后再重启django. 就可以正常访问了。
2、错误:CSRF verification failed. Request aborted.如图
解决办法:
1、在表单里添加{%csrf_token%}
<form action="/books/contact/" method="post"> {% csrf_token %} <--------------------------------------新加入的 <p>Subject: <input type="text" name="subject"></p> <p>Your e-mail: (optional): <input type="text" name="email"></p> <p>Message: <textarea name="message" rows="10" cols="50"></textarea></p> <input type="submit" value="Submit"> </form>
还需要最后一步在view文件中加入装饰器@csrf_exempt如下:
from django.views.decorators.csrf import csrf_exempt @csrf_exemptdef def contact(request): ........
问题解决。
因为django之所以引进CSRF是为了避免 Cross Site Request Forgeries 攻击,而上面的解决方法恰好禁止掉这个django的功能。
本文出自 “smile_青春” 博客,请务必保留此出处http://smileyouth.blog.51cto.com/7273768/1675482
原文地址:http://smileyouth.blog.51cto.com/7273768/1675482