我正在开发一个使用上下文处理器的应用程序,只有当它不属于以下指定的任何路径时,才会执行上下文处理器中的功能:
if request.path != "/details/" and \
request.path != "/live/":
# EXECUTE FUNCTIONS
但是,我没有设法包含一个包含pk的路径。我尝试了以下操作:request.path != "/live/<int:pk>
没有结果。有什么想法吗?
谢谢!
答案 0 :(得分:0)
非常基本的例子,但是我会做这样的事情。我会创建一个URL路径列表,并检查urls列表中的request.path。我不确定是否可以在上下文处理器中传递pk。另一种方法是编写自定义模板标签。
from django.urls import reverse
urls = [reverse("home"), reverse("detail",kwargs={"pk":pk})]
if request.path not in ulrs:
some code
答案 1 :(得分:0)
我刚完成以下操作:
+ if request.path != "/backtest/details/" and \
+ request.path != "/live/details/" and \
+ request.path[-7:] != "delete/" and \
+ request.user.is_authenticated:
因此,只需查看路径的最后一个字符即可。