Django Direct_to_template или flatpages - PullRequest
       16

Django Direct_to_template или flatpages

4 голосов
/ 17 августа 2010

Создание приложения django с несколькими в основном статическими страницами в начале сайта, например. about.html faq.html

такие вещи

Я смотрел, как работает urls.py, и создал это.

('(.+\.html)$', direct_to_template),

Кажется, он делает именно то, что мне нужно. Теперь для любой новой .html страницы, которую я добавляю в корень папки с шаблонами, это просто работает. templates / about.html templates / faq.hml

Я также могу использовать такие вещи в своих шаблонах

{% include "_menu.html" %}

Теперь кто-то любезно указал на Django FlatPages и предложил, возможно, использовать их вместо меня. Если я не подключаюсь к БД, есть ли недостатки в том, как я это делаю.

Мне кажется, это лучший способ сделать это, чем FlatPages, потому что он использует БД и не такой элегантный (хотя на самом деле не использовал плоские страницы на практике)

Ответы [ 3 ]

2 голосов
/ 17 августа 2010

Если вы в порядке, редактируете файлы шаблонов напрямую и вручную добавляете новые в свой файл urls.py, тогда придерживайтесь того, что у вас есть.Плоские страницы полезны, если вы хотите иметь возможность редактировать содержимое страницы из интерфейса администратора или любого веб-инструмента редактирования, который вам может потребоваться разработать, или, возможно, более конкретно: если вы хотите, чтобы пользователи, не являющиеся техническими специалистами, могли редактироватьсодержание.

1 голос
/ 17 августа 2010

Одним из преимуществ использования FlatPages является то, что вы можете использовать шаблоны Django для заголовков, боковых панелей и нижних колонтитулов (для поддержания согласованного внешнего вида сайта), в то же время по-прежнему используя в основном простой HTML для содержимого страницы. Это компенсируется необходимостью сохранять содержимое страницы в таблице базы данных.

Мой совет? Если то, что вы делаете, отвечает вашим потребностям, придерживайтесь того, что работает.

1 голос
/ 17 августа 2010

Я бы предложил двигаться дальше.Если ваш статический контент не часто меняется и не использует шаблоны Django, не используйте Django для их обслуживания.Вместо этого используйте легкий сервер, такой как Nginx.

Если вы используете функции шаблонов Django, не требуя какого-либо динамического содержимого из базы данных, тогда вы можете придерживаться direct_to_template.

...