Разделение представлений приложения Django

set_fact: kafka_connection_string="{{ kafka_hosts | join(':' ~ kafka_server_port ~ ',') }}:{{ kafka_server_port }}"

Подчеркивание вместо точки перед портом. Точно так же, как вы объявили свои переменные.

16
задан Matt 30 March 2009 в 07:43
поделиться

4 ответа

Нет никакого универсального лучшего способа. Но существует правильный путь к Вашей ситуации.

  • поместите представления в их собственные файлы и импортируйте их в Вашем представлении. Это хорошо только, чтобы видеть, как это работает
  • сделайте отдельное приложение в проекте поддержать ряд представлений
  • создайте свои собственные универсальные представления, которые разделяют взгляды, характерные для большинства Ваших приложений

Так же, как стартовый пример: Я рекомендую Вам начать с модели и обработать себя:

  • сколько моделей Вы имеете?
  • Они на самом деле все имеют отношение, или они могут быть сгруппированы?
  • если банка сгруппирована, разделяет приложение на два приложения
  • таким образом, Вы также разделите представления
  • определите, какие функции представления подобны и делают их универсальными.
12
ответ дан 30 November 2019 в 16:25
поделиться

Некоторые разработчики делают свои представления пакетом Python вместо модуля. Это просто означает делать каталог названным views в Вашем приложении, затем помещающем каждое представление в его собственный модуль (файл) в том пакете.

Затем Вы создаете __init__.py файл (который является тем, что делает его пакетом). Этот файл может быть пустым, или это может быть импорт все модули представления в его собственное пространство имен.

Если бы это пусто, необходимо было бы импортировать каждое представление, в котором Вы нуждаетесь непосредственно иначе, можно импортировать его, как если бы это был views.py модуль.

25
ответ дан 30 November 2019 в 16:25
поделиться

Я выделил бы представления с подобной целью или функциональностью в один файл, и включал бы это в views.py. Я только делаю это для удобочитаемости и обслуживания. Например, CRUD просматривает для конкретного объекта или группы объектов.

Путем импорта этих представлений непосредственно в основной views.py файл, это позволяет людям, не знакомым с конвенцией найти то, что то, где.

views/object_view.py
2
ответ дан 30 November 2019 в 16:25
поделиться

В идеальном мире Вам не придется сделать этого. Вместо этого попытайтесь осуществить рефакторинг свой код в различные django приложения для каждой подцели, в которой нужен Ваш проект. Тем путем можно разделить проект еще лучше, чем Вы могли иметь, если Вы только разделяете views.py файл.

Для подсказок относительно того, как разделить Ваш проект на различные приложения, я рекомендую читать Практического Django Projects James Bennett, который является тем, что я перечитываю прямо сейчас :)

1
ответ дан 30 November 2019 в 16:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: