将特定的基于用户的上下文添加到项目中的每个页面的最佳方法是什么

时间:2011-05-05 18:16:37

标签: python django

为了给问题一些上下文,假设我有10个视图,每个视图函数都被装饰为包含额外的上下文,但我希望这个上下文在所有视图中(参见下面的问题)。有没有更好的方法来实现这一点,而不是将装饰器放在每个视图函数上?在我的项目中的每个视图周围都有装饰器,这似乎很愚蠢/重复,特别是当视图数量很大并且不断增加时。我可以在base.html中实现自定义模板标记,该标记在每个模板中共享,因此只有一个位置可以评估此​​特定于用户的上下文吗?这是可接受/不好的做法吗?谢谢你的帮助!

views.py中的问题:

@add_extra_context()
def view_1(request)

...

@add_extra_context()  # silly!
def view_1000(request)
...

1 个答案:

答案 0 :(得分:2)