【问题标题】:Check for variable in Django template检查 Django 模板中的变量
【发布时间】:2016-10-27 23:40:13
【问题描述】:

我是 Django 新手,具有 PHP 背景。当我处理页面以输入内容并稍后能够编辑它(并且页面依赖于一些 JS 文件)时,我只需从控制器设置一个变量并让我的视图(PHP MVC 意义上的视图)处理它基于设置的变量。这样我就可以对创建页面和编辑页面使用相同的 javascript 文件,而不是两个单独的 JS 文件,只有细微的差别。例如

/some_view_file.html

<?php
    if(isset($editing) && $editing == true){
        ?>
        <script>var editing = true; </script>
        <?php
    }
    else{
        ?>
        <script>var editing = false; </script>
        <?php
    }
?>

由于 Django 似乎专注于模板,而不是像使用 PHP/HTML 那样间歇性地编写 Python/HTML,有什么方法可以完成我上面展示的内容吗?

我想一个更好的问题是 Django 程序员通常如何处理这样的情况?

谢谢

【问题讨论】:

    标签: javascript django django-templates


    【解决方案1】:

    我使用 PHP 已经有一段时间了,但如果我了解您想要实现的目标,您需要 if/else template tags

    {% if editing %}
        <script>var editing = true; </script>
    {% else %}
        <script>var editing = false; </script>
    {% endif %}
    

    【讨论】:

      【解决方案2】:

      Django 可以做 PHP 可以做的事情,但更好、更简洁、更易读:)

      {%  if editing  %}
          <script>var editing = true; </script>
      {% else %}
            <script>var editing = false; </script>
      {% endif %}
      

      编辑传递给您的模板的位置

      render(request, 'some_view_file.html',{'editing': true_or_false })
      

      或者它可以来自上下文处理器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-19
        • 2021-01-18
        • 1970-01-01
        • 1970-01-01
        • 2016-01-12
        • 2013-06-07
        • 2012-10-07
        • 2017-06-28
        相关资源
        最近更新 更多