Python/Django将用户输入作为关键字参数传递?
问题描述:
我想通过什么用户输入到URL作为关键字参数(即使它不是一个真正的条目)。当我尝试将输入名称指定为关键字参数时,它将失败。Python/Django将用户输入作为关键字参数传递?
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)
答
因为我的django代码在刷新页面时无法使用请求方法,所以我决定使用javascript。
答
你想没有意义的东西。 {{ }}
符号表示在呈现模板之前从服务器传递到模板中的上下文变量。但是你试图使用一个值,这个值只有在用户实际输入了一些东西到渲染页面本身时才被定义。
你也许可以用一些Javascript做到这一点,但似乎没有多少意义。从URL中删除参数并让表单将其发送到查询参数中,您可以在视图中以request.GET
的身份访问该参数。
您是否尝试过类似以下内容:' –