我试图将用户输入的内容作为关键字参数传递给url(即使它不是真正的条目)。当我尝试将输入名称指定为关键字参数时,它将失败。
HTML:
<p class="search">
<form method="GET" action="{% url 'job' %}" class="sidebar-form">
<div class="ogsearchbar input-group">
<input class="searchbarz" type="text" name="user_input" id="user_input" placeholder="Enter Job Number" autocomplete="off" />
<span class="input-group-btn">
<button type="submit" name="search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i></button>
</span>
</div>
</form>
</p>
Django的:
def get_job(request):
if request.method == 'GET':
formvar = request.GET['user_input']
return HttpResponseRedirect('/jobs/' + formvar)
答案 0 :(得分:1)
你想要什么没有意义。 {{ }}
符号表示在呈现模板之前从服务器传递到模板的上下文变量。但是你试图使用一个值,该值仅在用户实际在渲染页面中输入内容时定义。
你可以用一些Javascript来做到这一点,但似乎没有多大意义。从网址中删除参数,然后让表单将其发送到查询参数中,您可以在视图中将其作为request.GET
访问。
答案 1 :(得分:0)
我决定只使用javascript,因为我的django代码在刷新页面时没有使用请求方法。