Python Django模板开发与生产
我从使用Django的人那里继承了一个产品,我完全不知道如何使用它 我试图完成的是在我的Python Django模板开发与生产,python,django,Python,Django,我从使用Django的人那里继承了一个产品,我完全不知道如何使用它 我试图完成的是在我的base.html文件中提供不同的脚本,如下所示: <!-- if development --> <script src="{% static "js/main.js" %}></script> <! -- end --> <!-- if production --> <script src="{% static "production/j
base.html
文件中提供不同的脚本,如下所示:
<!-- if development -->
<script src="{% static "js/main.js" %}></script>
<! -- end -->
<!-- if production -->
<script src="{% static "production/js/main.min.js" %}></script>
<! -- end -->
在settings
文件夹中,似乎有3个文件:
base.py : shared settings
development.py
production.py
内部development.py
from app_name.settings.base import *
DEBUG = True
TEMPLATE_DEBUG = DEBUG
// etc
我试着在templates/base.html
中做一些类似的事情,但显然不是那么容易
{% if DEBUG %}
STUFF
{% endif %}
有什么帮助吗?您需要使用内置的。别忘了设置内部_IPS设置(例如,'127.0.0.1')。
之后:
{% if debug %}
STUFF
{% endif %}
应该可以工作。您需要将设置中的调试发送到模板
正确的方法是使用,它使用变量填充模板呈现的上下文
对于您的特定示例,解决此问题的一种方法是在您的应用程序名称中定义一个新模块context\u processors.py
,并在其上书写
from django.core.urlresolvers import resolve
from settings import DEBUG
def debug_settings(request):
return {'DEBUG': DEBUG}
在settings.py中,使用
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",
"django.core.context_processors.request",
"app_name.context_processors.debug_settings",)
这将使所有模板都能看到您的调试设置。感谢您的快速响应。我在哪里保存context\u processors.py
文件?在应用程序中的任何位置。您只需在模板\u上下文\u处理器中确定它。编辑:我在答案中加了这个。不需要重新发明轮子。如果使用得当,django.core.context_processors.debug已经为您完成了任务。@cusejuice,我相信isobolev是正确的。已经有了一个调试上下文处理器(我不知道)。他的答案——可以说是以一种更具说教性的方式提出的——是正确的答案。
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",
"django.core.context_processors.request",
"app_name.context_processors.debug_settings",)