功能我有一个函数在views.py
,例如像这样:Django的:从打电话意见模板
def get_base_content():
footer = SiteContent.objects.get(pk=1)
return {
"footer" : footer,
}
我如何可以调用这个函数在我template
,并在其中使用footer
变量?
功能我有一个函数在views.py
,例如像这样:Django的:从打电话意见模板
def get_base_content():
footer = SiteContent.objects.get(pk=1)
return {
"footer" : footer,
}
我如何可以调用这个函数在我template
,并在其中使用footer
变量?
如果你想让这个变量显示在所有的模板上,那么你需要实现一个template context processor。
你只需要最小的变化代码:
def get_base_content(request):
footer = SiteContent.objects.get(pk=1)
return {"footer" : footer}
现在,添加到一个单独的文件,把它custom_context.py
。在您的settings.py
它添加到您的TEMPLATE_CONTEXT_PROCESSORS
设置:现在
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"myapp.custom_context.get_base_content", # don't forget the comma!
)
,在您的视图代码,你只需要确保你正在使用RequestContext
。要做到这一点最简单的方法是使用render
shortcut:
from django.shortcuts import render
def myview(request):
return render(request,'hello.html',{'foo': 'bar'})
在hello.html
你必须{{ foo }}
和{{ footer }}
您需要创建一个模板标签,对于您的情况,您可能需要查看inclusion tag。
这正是我需要的,谢谢! – yital9