【发布时间】:2014-01-19 08:30:32
【问题描述】:
我有两个页面,一个用于显示特定项目的详细信息,另一个用于搜索项目。假设 urls.py 已为它们和我的应用程序的 views.py 正确配置,我有:
def item(request, id):
return render(request, 'item.html', data)
def search(request):
#use GET to get query parameters
if len(query)==1:
#here, I want to redirect my request to item, passing in the id
return render(request, 'search.html', data)
如何正确重定向请求?我试过return item(request, id) 并呈现正确的页面,但它不会更改地址栏中的URL。我怎样才能让它真正重定向而不是仅仅渲染我的其他页面?项目页面的 URL 模式是 /item/{id}。我已经查看了关于 SO 和文档的类似问题的答案,但仍然无法弄清楚。
编辑:我不到一周前才开始学习 Python,其他答案还不够清楚,无法帮助我。
编辑 2:Nvm,不知道我之前做错了什么,但是当我再次尝试时它起作用了。
【问题讨论】:
-
您指的是哪个“其他答案”,您到底在哪里遇到了麻烦?这个网站上有数百个关于“Django 重定向”的答案,以及准确解释该做什么的实际文档。
-
在再次寻找其他答案时,我重试了 HttpResponseRedirect,这次成功了。也许在此之前我有其他问题导致它无法重定向。我最初看到的是关于 RedirectViews 的内容,但我不知道这有什么关系。
标签: python django redirect django-urls