【发布时间】:2016-03-23 04:31:56
【问题描述】:
我有一个包含两种文本输入类型的表单。两个表单的值都传递到视图myfunc,然后传递到另一个模板。表单结果的 url 应该是
/app/1/new_page/?key=key&value=value
但在提交表单时,它会转到以下网址 -
/app/1/new_page/?csrfmiddlewaretoken=CpYebRXTmLkHfo6hRQSrfZPdMFjWW9Ri&key=a1&value=41325
并给出错误 -
Exception Type: TemplateDoesNotExist
Exception Value: <WSGIRequest: GET '/app/1/new_page/?csrfmiddlewaretoken=CpYebRXTmLkHfo6hRQSrfZPdMFjWW9Rikey=a1&value=41325'>
即使手动输入正确的网址也会得到相同的Exception Type and Value
但是我已经在视图中声明了模板。这里可能是什么问题?
template containing form
<form action="{% url 'my_func' id %}" method="GET">
{% csrf_token %}
<input id="key" type="text" name="key" value="">
<input id="value" type="text" name="value" value="">
<input type="submit" value="Submit" />
</form>
views.py
def myfunc(request, id):
key = request.GET.get('key')
value = request.GET.get('value')
context = {'key': key}
return render_to_response(request,'template.html', context)
urls.py
url(r'^app/(?P<id>\d+)/new-page/$', views.myfunc, name="my_func"),
【问题讨论】:
-
TemplateDoesNotExist,您缺少文件template.html。 -
没有文件。因为另一个视图正在访问同一个模板。错误是
TemplateDoesNotExist at /app/1/new_page/回溯甚至没有提到模板文件。
标签: python django forms django-templates django-views