Как структурировать сайт в Джанго? - PullRequest
1 голос
/ 08 июля 2011

У меня есть простой (я надеюсь, что так) вопрос о структуре типичного сайта Django. Я должен реструктурировать свой сайт, используя несколько страниц с поддержкой Django, смешанных с другими типичными статическими страницами.

Мне бы хотелось иметь несколько шаблонов и множество страниц, использующих эти шаблоны.

Мой вопрос:

Каков наилучший способ предоставления различного контента для каждой страницы? Я сейчас думаю о том, чтобы в моей URL-странице были разные страницы, использующие одни и те же шаблоны и изменявшие содержимое в представлении. Но я полагаю, что неестественно «жестко кодировать» мой контент в View.

Есть ли способ определить области содержимого в моем шаблоне и, например, отредактировать их в панели администратора?

Должны быть лучшие способы, я думаю.

Спасибо!

Редактировать Возможно, Flatpages могли бы помочь в моей задаче. Но существует ли способ добавить «области содержимого», привязанные к определенным частям шаблонов? Я могу оштрафовать только основной контент области.

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

Чем ваши «области содержимого» отличаются от шаблонных блоков django?Вы можете определить что-то вроде этого в вашем файле макета:

base.html
{% block overridable %}Default content{% endblock overridable %}

И в ваших шаблонах вы расширяете его следующим образом:

 view.html
 {% extends "base.html" %}
 {% block overridable %} Overrided by view {% endblock overridable %}
0 голосов
/ 08 июля 2011

Вы можете использовать общие представления, и я от всей души призываю вас.Они великолепны.Проверьте django документы для общих представлений .Но что касается разных страниц, требующих другого шаблона, то да, именно так работают веб-сайты.

Django - это не «файл-лайт» - он работает, объединяя множество маленьких файлов.Вы совершенно правы, что не хотите жестко кодировать HTML в вашем контроллере представления - как правило, это плохая практика.У вас будет шаблон для каждого представления, но на самом деле, сколько у вас просмотров?Даже в большом приложении число представлений, которые не могут быть обработаны ни встроенным, ни пользовательским обобщенным представлением, будет довольно низким.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...