Javascript 如何从另一个模板中搜索变量
我在我的主页模板,我只有像谷歌主搜索页面一样的搜索框,现在我想从另一个模板搜索变量,并显示它,但什么也没有发生。下面是我的代码 主页模板Javascript 如何从另一个模板中搜索变量,javascript,html,django,python-3.x,Javascript,Html,Django,Python 3.x,我在我的主页模板,我只有像谷歌主搜索页面一样的搜索框,现在我想从另一个模板搜索变量,并显示它,但什么也没有发生。下面是我的代码 主页模板 <form action="{% url 'loststuffapp:IndexView' %}" method="GET" value="{{request.GET.q}}" class="navbar-form" role="search" style="margin-left: 25em;"> <input type="
<form action="{% url 'loststuffapp:IndexView' %}" method="GET" value="{{request.GET.q}}" class="navbar-form" role="search" style="margin-left: 25em;">
<input type="text"placeholder="Search....." name="q">
<button type="submit" onclick="/Miscellaneous"><i class="fa fa-search"></i></button>
</form>
杂项模板
<div class="card-body">
<p><label style="font-size:15px; font-weight: bold;color: black;">Jina la nyaraka: </label>{{Doc.docs_name}}</p>
<p><label style="font-size:15px; font-weight: bold;color: black;">Aina ya nyaraka: </label>{{Doc.item_type}}</p>
{% if Doc.image %}
<div class="row">
<div class="col-md-12">
<img class="img-fluid" alt="Responsive image" src ="{{Doc.image.url}}" style="display: flex;" />
</div>
</div>
{% endif %}
<p>{{Doc.date}}</p>
</div>
如果我理解正确,您希望将q参数从主页上的表单传递到Miscellaneous视图。目前,您的代码只是在提交表单时调用IndexView并返回表单 我猜您希望表单通过将url添加到按钮的
onclick
来提交到Miscellaneous视图。我不认为这样做是因为onclick
需要一些javascript函数。您的表单提交到您放入表单的action属性中的url,这是您的主页
因此,最简单的方法是更改表单的action属性,以指向杂项视图:
<form action="{% url 'loststuffapp:Miscellaneous' %}" method="GET" value="{{request.GET.q}}" class="navbar-form" role="search" style="margin-left: 25em;">
<input type="text"placeholder="Search....." name="q">
<button type="submit"><i class="fa fa-search"></i></button>
</form>
备注:我不确定您对value属性或表单的期望
您还可以在提交表单时返回到
索引视图
,并从那里重定向到杂项视图
,将查询作为参数传递。然而,从我从你的帖子上读到的内容来看,这似乎没有必要。非常感谢它的有效性,我完全没有想到这一点
def Miscellaneous(request):
query = request.GET.get('q', '')
qsets=(Q(docs_name__icontains=query)|Q(item_type__icontains=query))
return render(request, "loststuffapp/Miscellaneous.html", context={"documents":Documents.objects.filter(qsets)})
<form action="{% url 'loststuffapp:Miscellaneous' %}" method="GET" value="{{request.GET.q}}" class="navbar-form" role="search" style="margin-left: 25em;">
<input type="text"placeholder="Search....." name="q">
<button type="submit"><i class="fa fa-search"></i></button>
</form>