|
|
1
17
卢珀和弗拉基米尔都是正确的imho,但你需要两者来完成你的要求。
但是,如果您是django新手,这可能是过分的;也许您只是问如何将变量放入模板范围。。。?
|
|
|
2
6
为了建立在别人的答案之上,这里有一个简单的实现方法: 在设置文件中:
然后,建造 John Mee's context processor :
这将解决干燥的问题。
|
|
|
3
3
考虑将其放入应用程序的settings.py中。当然,为了在模板中使用它,您需要将它作为任何其他常用变量提供给模板。 |
|
|
4
2
|
|
|
5
2
上下文处理器更适合处理更动态的对象数据——它们被定义为 documentation 在这里的许多文章中,它们被修改或传递给视图——模板可能失去对全局信息的访问是没有意义的,因为,例如,您忘记在视图中使用专门的上下文处理器。根据将视图与模板耦合的定义,数据是全局的。
我有4个环境——2个开发环境和2个生产环境:
我对所有项目都这样做,并将所有url保存在一个文件global_settings.py中,这样就可以从代码中访问它。我定义了一个自定义模板标记{%site\u url%},可以(可选)加载到任何模板中 我创建了一个名为global_settings的应用程序,并确保它包含在我的设置中。INSTALLED_app s tuple。 Django使用render()方法将模板文本编译成节点,该方法告诉数据应该如何显示——我创建了一个对象,该对象根据传入的名称返回global_settings.py中的值来呈现数据。 看起来是这样的:
请注意,为了使其工作,django希望global_settings.py位于django应用程序下名为templatetags的python包中。我在这里的Django应用程序称为全局设置,因此我的目录结构如下: /项目名称/global_settings/templatetags/global_settings.py 最后,模板选择是否在全局设置中加载,这有利于提高性能。将此行添加到模板以公开在global_settings.py中注册的所有标记:
现在,其他需要最少时间测试的项目或这些公开的环境只需安装此应用程序即可) |
|
|
6
0
在上下文处理器中,您可以使用以下内容:
|
|
|
7
0
假设您的设置中有类似于Jordan建议的内容,换句话说,类似于:
在你看来,你可能会做一些事情,比如:
这样,您就可以在全局范围内确定可用于模板的设置,而不需要手动键入每个设置。 如果你 不要 有任何其他变量可以传递模板,也不需要重写,您只需执行以下操作:
我在这里讨论的和乔丹的主要区别在于,
|
|
|
Patrick Bond · 如何将模型中的函数结果添加到列表中? 1 年前 |
|
|
bur · 每次从模板调用方法都会查询数据库吗? 1 年前 |
|
|
Stefan · 在子目录中设置Django 1 年前 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Kovy Jacob · Django在动态URL段中添加斜线 1 年前 |
|
|
user987 · 如何在Django中访问提交的表单请求数据 1 年前 |
|
|
user24242514 · 将嵌套查询字符串请求转换为字典 1 年前 |