Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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_Debugging - Fatal编程技术网

Python Django调试设置从不作为布尔值计算-仅显示调试日志

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,

我有一些GA代码,我们只需要放在现场。因此,我试图检查DEBUG的值,它在settings.py中当前被设置为True。但是,在我的模板文件settings.DEBUG中,计算结果不会为True或False。如果我打印出变量,它将显示调试日志

我试着遵循这个指南:通过添加context_processors.py,仍然在我的模板文件中,DEBUG作为调试日志出现

模板:

{% 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}