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