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