我在我的网站上添加了一个搜索功能,这样如果你去www.mywebsite.com/ search / that那里,它就会用title=texthere显示所有的歌曲。我想将这个功能添加到我的索引页面。
在我的页面中,有一个输入框,用户可以输入输入和按提交来提交输入,但是它会转到另一个页面。我怎么才能解决这个问题?
urls.py
url(r'^search/(?P<query>[\w\-]+)/$', views.search, name='search'),index.html
<form action="/search/">
<input type="text" name="query" value="me"><br>
<input type = "submit">
</form>我想要的是,当用户单击submit按钮时,输入框中的文本应该用作urls.py中的查询--任何帮助都将不胜感激。谢谢!
发布于 2017-04-15 05:20:40
编辑:您当前的搜索url也需要传递查询值。但在形式上,只有/search/存在。在表单提交期间,查询值将在request.POST中传递,您将无法像下面这样在url中直接传递查询值。
您需要再添加一个url
url(r'^search/$', views.search, name='search'),在视图中
def search(request, query_via_url=false):
# if form submission is true
if request.post:
query_via_form = request.post.get('query', '')
...
# if query value is passed directly via url
if query_via_url:
....发布于 2017-04-15 08:54:31
我认为您可以通过使用redirect来完成这项工作。
/search/端点添加一个url:
url(r'^search/$',views.search_redirect),views中:
def search_redirect(请求):查询=request.POST.get(‘查询’,'')返回重定向(‘/search/{}/’..format( query ))index.html中的表单应该使用“POST”方法:当您提交查询字符串时,search_redirect函数获取query字符串并将请求重定向到您的/search/<query>/函数。
希望这能帮上忙。
https://stackoverflow.com/questions/43422419
复制相似问题