有模板:
<form action="{% url 'nfoapp.views.kinoscrap' <I WANT MOVIE_ID THERE> selectshort.id %}" method="post">
<input type="text" class="form-control" name="MOVIE_ID">
<button type="submit" class="btn btn-danger">Kinopoisk Search by ID</button>
</form>
有我的urls.py:
(r'^kinoscrap/(?P<kinoid>\d+)/(?P<shortid>\d+)/$', kinoscrap),
我希望传递给kinoscrap
两个参数 - 来自表单的文本字段(MOVIE_ID)和'choiceshort.id'变量。问题是我不能把简单的MOVIE_ID放在模板的第一行,我得到了错误。但是,当我尝试将MOVIE_ID替换为其他变量时,例如selectshort.id
,编程工作没有错误。
如何传输文本字段值以进行查看?
p.s我使用bootstrap,如果它有一些重要性。
答案 0 :(得分:1)
您可以将表单操作设置为空,因此对于同一视图,然后使用表单中的POST数据在视图重定向中。
<form action="" method="post">
<input type="text" class="form-control" name="MOVIE_ID">
<button type="submit" class="btn btn-danger">Kinopoisk Search by ID</button>
</form>
然后在视图中
def searchView(request):
if request.method == 'POST':
# get variables from form and redirect
else:
# do your normal rendering
答案 1 :(得分:0)
(r'^kinoscrap/(?P<kinoid>\d+)/(?P<shortid>\d+)/$', kinoscrap),
您的urls.py接受网址中的整数值(类似kinnoscrap/12/21
),如果您在整数旁边传递任何内容,则会抛出错误。如果要传递文本字段,则必须更改正则表达式。
在regex101处试试你的正则表达式,看看它们是否有效。