Python 板


LINE

{% csrf_token%}的问题 下面的code是照书做的(Django 架站的16堂课约莫在8-19至8-22页 ) 环境 Django版本1.10, python 2.7 照书上写的我在<form></form>之间放进 {% csrf_token %},如下的posting.html 然後相对应的view function定义如下的 posting function 可是还是会出现下面的错误讯息 Help Reason given for failure: CSRF token missing or incorrect. In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure: Your browser is accepting cookies. The view function passes a request to the template's render method. In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL. If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_tokentemplate tag, as well as those that accept the POST data. The form has a valid CSRF token. After logging in in another browser tab or hitting the back button after a login, you may need to reload the page with the form, because the token is rotated after a login. You're seeing the help section of this page because you have DEBUG = True in your Django settings file. Change that to False, and only the initial error message will be displayed. You can customize this page using the CSRF_FAILURE_VIEW setting. 然後我照着上面的提示Django's CSRF mechanism以及render 把下面这几行用一行render处理 template = get_template('posting.html') request_context = RequestContext(request) request_context.push(locals()) html = template.render(request_context) return HttpResponse(html) 也就是改成 return render(request, ‘posting.html’,locals()) 结果错误讯息就不见了 我想要问各位大大,书上的写法有错吗? 如果有,要怎麽用RequestContext以及template.render()改到对? 如果没有,我是死在哪边? xd def posting(request): moods = models.Mood.objects.all() message = "如要张贴讯息,则每一个栏位都要填..." template = get_template('posting.html') request_context = RequestContext(request) request_context.push(locals()) html = template.render(request_context) return HttpResponse(html) posting.html: {% extends "base.html" %} {% block title %}我有话要说{% endblock %} {% block content %} <div class='container'> {% if message %} <div class='alert alert-warning'>{{message}}</div> {% endif %} <form name='my form' action='.' method='POST'> {% csrf_token %} 现在的心情:<br/> {% for m in moods %} <input type='radio' name='mood' value='{{m.status}}'>{{m.status}} {% endfor %} <br/> 心情留言板:<br/> <textarea name='user_post' rows=3 cols=70></textarea><br/> <label for='user_id'>你的昵称:</label> <input id='user_id' type='text' name='user_id'> <label for='user_pass'>张贴/删除密码:</label> <input id='user_pass' type='password' name='user_pass'> <input type='submit' value='张贴'> <input type='reset' value='清除重填'> </form> </div> {% endblock %} --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.86.76
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1501812320.A.517.html ※ 编辑: left (114.43.86.76), 08/04/2017 10:07:22
1F:→ uranusjr: 应该是书太旧了, 这个看起来像是 1.7 以前的写法 08/04 21:25
2F:→ uranusjr: 中间三行改 html = template.render(locals(), request) 08/04 21:26
3F:→ uranusjr: 这样就好了, 什麽 RequestContext 根本不用理它 08/04 21:26
4F:→ uranusjr: 详细原因和 Django 1.8 的 template refactoring 有关 08/04 21:28
5F:→ uranusjr: 另外嗯, 想学 Django 你有其他选择, 这本书可能不是最好 08/04 21:29







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP