如何区分来自不同HTML页面但在views.py中具有相同命名空间的两个url请求



我正在创建一个类似eBay的简单电子商务网站,以介绍django。为了从观察列表中删除一个项目,我在两个不同的HTML文件中放置了两个相同的链接,也就是说,我可以从watchlist.html页面中删除该项目,也可以从保存为listing.html的项目页面中删除。两个页面的url如下所示:

<a href="{% url 'removeFromWatchlist' item.id %}"> Remove from watchlist </a>

现在,在我的views.py中,我想根据请求呈现不同的页面。例如,如果有人从listing.html单击了从观察列表中删除,则链接应再次重定向到listing.htmlwatchlist.html也是如此。

我尝试了using request.resolver_match.view_name,但这给了我"removeFromWatchlist",因为这两个请求的url命名空间是相同的。

有没有什么方法可以根据url请求的来源呈现两个不同的HTML页面?此外,这是我在这里的第二个问题,所以很抱歉格式不正确或不正确。

您可以检查视图的request.META属性中的HTTP_REFERER以获取引用请求的url,如下所示:

from django.shortcuts import redirect
def myview(request):
...
return redirect(request.META.get("HTTP_REFERER"))#Or however you prefer redirecting

https://docs.djangoproject.com/en/3.1/ref/request-response/#django.http.HttpRequest.META

相关内容

  • 没有找到相关文章

最新更新