Расширение Django Flatpages для принятия тегов шаблонов - PullRequest
7 голосов
/ 18 июня 2010

Я использую плоские страницы django для большого количества контента на нашем сайте, я хотел бы расширить его, чтобы он также принимал теги шаблонов django в контенте.но после долгих шуток я не смог заставить его работать.Правильно ли я считаю, что вам понадобится слишком «подкласс» приложения django для создания плоских страниц, чтобы это работало?Это лучший способ сделать это?Я не совсем уверен, как его структурировать, так как я не хочу напрямую изменять дистрибутив django.

Ответы [ 2 ]

8 голосов
/ 18 июня 2010

1. Простой просмотр страницы, который будет отображать теги шаблона путем загрузки шаблона для каждой страницы:

в url.py

url(r'^page/(?P<slug>.*)/$','my_app.views.page_detail', name='page_url'),

в my_app/views.py

def page_detail (request, slug):
    return render_to_response('page/' + slug + '.html', {},
                              context_instance=RequestContext(request))

2. Другой метод с плоскими страницами, хранящимися в базе данных, заключается в использовании в шаблоне «тега оценки шаблона», например этот .

edit Вам просто нужно изменить шаблон плоских страниц следующим образом:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>{{ flatpage.title }}</title>
</head>
<body>
{% load evaluate_tag %} 
{% evaluate flatpage.content %} 
</body>
</html>
0 голосов
/ 18 июня 2010

Альтернативным подходом может быть написание простого приложения на основе direct_to_template общего представления .

...