【发布时间】:2011-08-07 01:52:29
【问题描述】:
我正在 Django 1.3 上尝试一个相当简单的表单,并试图了解 CSRF 的工作原理。
我想我已经关注了three steps detailed on the Django site,但仍然无法使表单工作。
在加载 URL 时显示表单,但是在点击提交按钮时,我收到以下错误:
/txt/ txt() 处的 TypeError 准确 1 个参数(给定 2 个)
这是实际代码:
views.py:
from django.http import HttpResponse
from django.shortcuts import render_to_response, redirect
from django.template import RequestContext
def txt(request):
if request.method == 'POST':
msg="txt received"
else:
msg="nothing in POST"
return render_to_response('base.html', locals(), context_instance=RequestContext(request))
HTML:
<body>
<form action="txt/" method="POST">{% csrf_token %}
From <input type="text" name="From"><br>
To <input type="text" name="To"><br>
Body <input type="text" name="Body"><br>
<input type="submit" value="Search">
</form>
{{ msg }}
</body>
我知道我还没有完成 forms.py 等,但我只是想启动并运行基本功能。我认为这段代码可以在以前版本的 Django 中工作,但不确定为什么这次它不能工作。
【问题讨论】:
-
你也可以添加网址吗?到目前为止没有任何问题......
-
是的,urls.py 有问题 - 需要将 (r'^txt/(.*)$', txt) 替换为 (r'^txt/$', txt)