Python Django调试设置从不作为布尔值计算-仅显示调试日志
我有一些GA代码,我们只需要放在现场。因此,我试图检查DEBUG的值,它在settings.py中当前被设置为True。但是,在我的模板文件settings.DEBUG中,计算结果不会为True或False。如果我打印出变量,它将显示调试日志 我试着遵循这个指南:通过添加context_processors.py,仍然在我的模板文件中,DEBUG作为调试日志出现 模板:Python Django调试设置从不作为布尔值计算-仅显示调试日志,python,django,debugging,Python,Django,Debugging,我有一些GA代码,我们只需要放在现场。因此,我试图检查DEBUG的值,它在settings.py中当前被设置为True。但是,在我的模板文件settings.DEBUG中,计算结果不会为True或False。如果我打印出变量,它将显示调试日志 我试着遵循这个指南:通过添加context_processors.py,仍然在我的模板文件中,DEBUG作为调试日志出现 模板: {% if DEBUG %} <script> (function (i, s, o, g, r, a,
{% if DEBUG %}
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-xxx', 'auto');
// ga('send', 'pageview');
</script>
{% endif %}
context_processors.py:
from django.conf import settings
def debug(context):
return {'DEBUG': settings.DEBUG}
这里发生了几件事 首先,要输出一个变量,可以使用
{{}
语法而不是{%}
。后者用于模板标记。如果执行{%debug%}
操作,将调用,这确实会输出大量调试信息。要输出变量,您需要执行{{DEBUG}
其次,模板\上下文\处理器等设置在几个版本之前就被弃用了,没有任何效果。要添加上下文处理器,请将其添加到模板设置的选项字典中的context\u processors
列表中
第三,您链接到的问题指出,无论如何都不需要添加自己的上下文处理器,因为默认情况下已经提供了上下文处理器<代码>{debug}}和
{%if debug%}
应该是现成的,只要您的IP在内部IP列表中。这里发生了几件事
首先,要输出一个变量,可以使用{{}
语法而不是{%}
。后者用于模板标记。如果执行{%debug%}
操作,将调用,这确实会输出大量调试信息。要输出变量,您需要执行{{DEBUG}
其次,模板\上下文\处理器等设置在几个版本之前就被弃用了,没有任何效果。要添加上下文处理器,请将其添加到模板设置的选项字典中的context\u processors
列表中
第三,您链接到的问题指出,无论如何都不需要添加自己的上下文处理器,因为默认情况下已经提供了上下文处理器<代码>{debug}}和
{%if debug%}
应该是现成的,只要你的IP在内部IP列表中。你应该显示你的代码。那么,“作为调试日志出来”是什么意思?这里使用DEBUG的唯一位置是if
语句,您不会在任何地方输出它的值。(另外,如果您使用的是Django的任何最新版本,所有的模板设置都将被删除,并且没有任何效果。但是这个链接问题并没有说要添加您自己的上下文处理器。)这时我打印出{%DEBUG%}。我现在已经把它拿出来了。你是说它应该是模板调试吗?我们已经成功地在项目的其余部分使用了just DEBUG。您应该显示您的代码。那么,“作为调试日志出现”是什么意思?这里使用DEBUG的唯一位置是if
语句,您不会在任何地方输出它的值。(另外,如果您使用的是Django的任何最新版本,所有的模板设置都将被删除,并且没有任何效果。但是这个链接问题并没有说要添加您自己的上下文处理器。)这时我打印出{%DEBUG%}。我现在已经把它拿出来了。你是说它应该是模板调试吗?我们已经成功地在项目的其余部分使用了just DEBUG。我们已经在使用允许的\u主机。内部\u IP与此有什么区别?我们已经在使用允许的\u主机。内部IP和那个有什么区别?
from django.conf import settings
def debug(context):
return {'DEBUG': settings.DEBUG}