Oma*_*mar 6 python django templates
我想知道是否有任何方法可以为 django 中的所有页面发送默认上下文,例如无论其他上下文如何,用户总是传递到模板,对于我的特殊情况,我想将导航栏的上下文(例如类别和子类别)发送到所有页面,而无需发送所有视图。TIA
您可以通过创建上下文处理器来实现这一点。在任何应用程序中创建context_processors.py,我建议在您的主应用程序上执行此操作。在这里您可以创建上下文字典。就像这样:
from product.models import SubCategory, Category
def add_variable_to_context(request):
return {
'subCategories': SubCategory.objects.order_by('id').all(),
'categories': Category.objects.order_by("id").all(),
}
Run Code Online (Sandbox Code Playgroud)
将此行添加到settings.py中的模板中以调用创建的上下文处理器
'OPTIONS': {
'context_processors': [
....
'yourAppName.context_processors.add_variable_to_context',
....
],
},
Run Code Online (Sandbox Code Playgroud)
现在您可以在base.html中调用您创建的上下文字典
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |