2016-10-27 6 views
0

Я новичок в Django и исхожу из фона PHP. Когда я имел дело со страницами, чтобы вводить контент, а затем мог его редактировать (и страницы полагались на некоторые JS-файлы), я бы просто установил переменную из контроллера и разрешил мое представление (представление в смысле PHP MVC) на основе заданной переменной. Таким образом, я мог бы использовать один и тот же файл javascript как для страниц создания, так и для редактирования, а не для двух отдельных файлов JS с незначительными отличиями. НапримерПроверка переменной в шаблоне Django

/some_view_file.html 

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

Поскольку Django, кажется, сосредоточен на шаблонах вместо того, чтобы иметь возможность периодически писать на Python/HTML, как вы можете с PHP/HTML, есть ли способ сделать то, что я показал выше?

Я полагаю, что лучший вопрос заключается в том, как программисты Django обычно обрабатывают такие ситуации?

Благодаря

ответ

1

Это было время, так как я использовал PHP, но если я понимаю, что вы пытаетесь достичь, вы хотите if/else template tags:

{% if editing %} 
    <script>var editing = true; </script> 
{% else %} 
    <script>var editing = false; </script> 
{% endif %} 
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 }) 

или он может исходить из контекстного процессора.

Смежные вопросы