我试图写一个会做两件事的视图: 首先,如果request.method是Get,它将显示一个空表单。 然后它应该将表单提交到数据库中,如果方法是POST。
问题是,当提交表单并且它应该POST东西时,相同的视图不会运行,而是运行项目的根URL。 这是日志:
(添加是我为此视图设置的网址)
[14/Sep/2017 18:27:07] "GET /add HTTP/1.1" 200 1815
[14/Sep/2017 18:27:12] "POST / HTTP/1.1" 200 1683
(添加是我为此视图设置的网址)
,代码如下:
def add_link(request):
if request.method == 'POST':
form = Form(request.POST)
...
else:
form = Form()
return render(request, 'mytemp.html', {'form': form })
以及表格在模板中的外观:
<form action="." method="post">
{{ form.as_p }}
{% csrf_token %}
<p><input type="submit" value="Add Link"></p>
</form>
答案 0 :(得分:0)
操作设置不正确:
<form action="." method="post">
要么完全离开:
<form method="post">
或使用{% url ... %}
让它指向您当前的视图。
<form action="{% url 'yourviewsname' %}" method="post">
请发布您的urls.py
以获取更详细的答案。