Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板开发与生产_Python_Django - Fatal编程技术网

Python 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

我从使用Django的人那里继承了一个产品,我完全不知道如何使用它

我试图完成的是在我的
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",)