如何在POST后更新Django url(以包含data/param)

kmbjn2e3  于 2023-11-20  发布在  Go
关注(0)|答案(1)|浏览(140)

我有一个搜索表(地名)在我的主页上,搜索输入字段上有一个自动完成的搜索框。当用户在搜索框中选择一个项目后按下回车键时,表单会发布一个帖子。当结果返回时,我仍然有相同的URL(https://mywebsite.com).如何让所选搜索条目(位置名称)出现在URL中,以便用户可以将其标记为书签以供以后使用?
我已经得到了GET代码的工作,以获得在网址的位置-只是不知道如何更新网址添加位置字符串后,搜索表单后。
我是Django的新手,所以真的是即兴发挥。已经搜索过了,但即使在Django文档中也没有找到关于这个问题的讨论。

cgh8pdjw

cgh8pdjw1#

您可以在一个功能中搜索并重定向到其他功能。
示例代码
在urls.py

urlpatterns = [
    path('', views.home,name='home'),
    path('<location>', views.homesearch, name='homesearch'),
]

字符串
在views.py

def home(request):

    if request.method == 'POST':
        location = request.POST.get('location')
        print(location)

        if location:
            return redirect(reverse('homesearch', kwargs={'location':location}))

    return render(request, "todo/home.html")
def homesearch(request, location):

    context = {'location':location}

    return render(request, "todo/home.html", context)

相关问题