在配置了csrf之后页面报错
来源:3-8 mako的配置与使用方法

PARADISELIN
2019-10-13
def render_to_response(request, template, data=None):
context_instance = RequestContext(request)
path = settings.TEMPLATES[0]['DIRS'][0]
lookup = TemplateLookup(
directories=[path],
output_encoding='utf-8',
input_encoding='utf-8'
)
mako_template = lookup.get_template(template)
if not data:
data = {}
if context_instance:
context_instance.update(data)
else:
context_instance = Context(data)
result = {}
for d in context_instance:
result.update(d)
result['csrf_token'] = '<input type="hidden" name="csrfmiddlewaretoken" value={0} />'.format(
request.META['CSRF_COOKIE']
)
return HttpResponse(mako_template.render(**data))
报错信息:
写回答
4回答
-
改成 data['csrf_token']='<input type="hidden" name="csrfmiddlewaretoken" value="{0}" />'.format(request.META.get('CSRF_COOKIE',""))
412019-10-17 -
deweizhang
2023-04-10
这个问题在提问区域有完整解决 可以查一查,之前帮同学解决过
00 -
慕哥1266152
2019-10-17
又有了 我也不知道为什么, 一开始确实没有. 用get只是为了设置个默认值, 就不会报错了.
00 -
deweizhang
2019-10-13
你的问题在于baserenderpy的31行 keyerror 单从你的代码看不出哪行是,但你可以自己锁定31行 keyerror是dict字典的错误 以此为起点进行检查一下
072023-04-10
相似问题