django在seprate html和文本文件中使用全局变量
我用过了,一切都好。它使用包含邮件正文的django在seprate html和文本文件中使用全局变量,django,Django,我用过了,一切都好。它使用包含邮件正文的.txt文件。有几个应用程序使用此文件。我希望他们每个人在这个文件中都有一个包含地址的变量。我的意思是这个文件有这样一行: U can see the message from this address:{{address}} 我想要不同的地址。我试图在视图.py中发送此变量: return render_to_response('PersonHub/index.html',{'address':'azhans.net'},context_instanc
.txt
文件。有几个应用程序使用此文件。我希望他们每个人在这个文件中都有一个包含地址的变量。我的意思是这个文件有这样一行:
U can see the message from this address:{{address}}
我想要不同的地址。我试图在视图.py中发送此变量:
return render_to_response('PersonHub/index.html',{'address':'azhans.net'},context_instance=RequestContext(request))
但它不起作用。有什么建议吗?您可以定义自定义上下文处理器,以便在RequestContext中包含额外的变量,这些变量将在所有要使用的模板中可用
my\u context\u processor.py
def my_func(request):
return {'address': 'azhans.net'}
TEMPLATE_CONTEXT_PROCESSORS = (
#some previous context processor
....
'your_app_folder.my_context_processor.my_func'
)
在您的settings.py
文件中,将其添加到您的模板\u上下文\u处理器中
设置.py
def my_func(request):
return {'address': 'azhans.net'}
TEMPLATE_CONTEXT_PROCESSORS = (
#some previous context processor
....
'your_app_folder.my_context_processor.my_func'
)
.txt
文件如何包含在PersonHub/index.html
中??您正在使用{%inlcude文件\u name%}
?我不知道它在postman中。我想它是在视图中呈现的。py您必须在项目设置.py
中定义此地址变量,然后覆盖postman
url以将此变量包含在额外的上下文中。因此,您的意思是我为每个应用定义一个同名的上下文处理器吗?这取决于您可以分别为每个应用程序定义上下文处理器,也可以只定义一个上下文处理器。我认为我应该为每个应用程序定义上下文处理器。因为每个应用程序都有不同的地址。我建议您使用一个上下文处理器,并提供多个地址变量,例如地址\u app1
,寻址_app2
并在需要使用这些变量的地方使用它们。