这应该很简单,但我似乎无法弄清楚,而且我无法在网上找到答案。
我有一个包含三个页面的网站:在第一页上,用户提交一个表单,该表单为“公园”创建 GET 请求。第二页有另一个表单,提示用户输入更多信息,这些信息将添加到下一页的查询中。
现在我的问题是:如何在 GET 查询中附加上一个表单中的“park”,而不要求用户再次输入它。
这是一些相关代码:
<form class="next-page" role="next-page" method="get" accept-charset="utf-8" action="/trip">
<div class="dates">
<h1>When do you want to go?</h1>
{{daterange}}
</div>
我希望后续页面的网址如下所示:
/trip?park=Zion+National+Park&start_date=04%2F12%2F2016&end_date=04%2F13%2F2016
如果有人可以帮忙,谢谢。
最佳答案
您可以使用 request.GET.get('start_date', '') 捕获 url 的值
。您可以在您的 View 中进行这样的编码:
def someview(request):
if request.method == 'GET':
form = SomeForm()
start_date = request.GET.get('start_date', '')
end_date = request.GET.get('end_date', '')
daterange = '{}-{}'.format(start_date, end_date)
context = {'form': form}
context['daterange'] = daterange
return render(request, 'my_template.html', context)
else:
form = SomeForm(request.POST)
if form.is_valid():
return redirect('success_url')
关于html - 使用先前表单中的变量更新 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36417132/