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) 
+0

您是否尝试过类似以下内容:' –

因为我的django代码在刷新页面时无法使用请求方法,所以我决定使用javascript。

你想没有意义的东西。 {{ }}符号表示在呈现模板之前从服务器传递到模板中的上下文变量。但是你试图使用一个值,这个值只有在用户实际输入了一些东西到渲染页面本身时才被定义。

你也许可以用一些Javascript做到这一点,但似乎没有多少意义。从URL中删除参数并让表单将其发送到查询参数中,您可以在视图中以request.GET的身份访问该参数。

+0

这在一个视图?我明白你在说什么,并编辑我的问题。 – Zorpho

+0

不确定你在问什么。你的表单被设置为使用GET,所以你应该在视图中使用它。 –

+0

我在我的django代码中添加了我的视图,但它不起作用。当您输入号码并点击搜索时,它会重新加载页面,但不会重定向到新收到的参数。所以表单位于一个名为“/ jobs /”的url上,一旦我得到用户输入,我希望页面重定向到“jobs/” – Zorpho