繁体   English   中英

我如何从Django布局(如“ base.html”)中获取表单数据,而无需通过视图在所有页面中发送表单?

[英]How can i get form data from django layouts (like 'base.html') without sending forms in all page through views?

许多模板都来自base.html。 base.html具有一种从用户获取电子邮件的新闻通讯形式。 有什么简单的方法可以从“ base.html”中获取表单数据进行查看。 (可以通过视图在所有页面中发送表单,但我认为有一个简单易用的主意)

使用上下文处理器执行以下操作:

在您的根项目中添加一个新的.py文件,将其命名为context_processors.py

context_processors.py

from app.forms import GlobalForm

def global_variables(request):
   form = GlobalForm()
   context = {'global_form':form}
   return context

然后在settings.TEMPLATES中添加上下文处理器作为最后一行。

# stuff
'django.contrib.messages.context_processors.messages'
'project_name.context_processors.global_variables'

因此, {{global_form}}在所有模板中均可用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM