检查Django模板

时间:2016-10-27 23:40:13

标签: javascript django django-templates

我是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程序员通常如何处理这样的情况?

由于

2 个答案:

答案 0 :(得分:1)

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 })

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

答案 1 :(得分:1)

自从我使用PHP以来已经有一段时间了,但是如果我理解你想要实现的目标,那么你需要if/else template tags

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