扩展 Django Flatpages 以接受模板标签

发布于 2024-09-06 02:30:59 字数 257 浏览 6 评论 0原文

我在我们网站上的很多内容中使用了 django 平面页面,我想扩展它以接受内容中的 django 模板标签。

我找到了这个snippet,但经过一番闲聊后,我无法让它工作。我是否正确地假设您需要对 django 平面应用程序进行“子类化”才能使其正常工作?这是最好的方法吗?我不太确定如何构建它,因为我真的不想直接修改 django 发行版。

I use django flatpages for a lot of content on our site, I'd like to extend it to accept django template tags in the content as well.

I found this snippet but after much larking about I couldn't get it to work. Am I correct in assuming that you would need too "subclass" the django flatpages app to get this to work? Is this best way of doing it? I'm not quite sure how to structure it, as I don't really want to directly modify the django distribution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

随心而道 2024-09-13 02:30:59

1. 一个简单的页面视图,它将通过为每个页面加载模板来呈现模板标签:

url.py

url(r'^page/(?P<slug>.*)/

my_app/views.py 中的

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

2. 将平面页面存储在数据库中的另一种方法是在模板中使用“模板评估标记”,例如 这个

编辑您只需修改平面页面模板像这样:

<!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>
,'my_app.views.page_detail', name='page_url'),

my_app/views.py 中的

2. 将平面页面存储在数据库中的另一种方法是在模板中使用“模板评估标记”,例如 这个

编辑您只需修改平面页面模板像这样:

1. A simple page view wich will render template tags by loading a template for each page:

in url.py

url(r'^page/(?P<slug>.*)/

in my_app/views.py

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

2. Another method with flat pages stored in database, is to use a "template evaluation tag" in your template like this one.

edit You just have to modify flatpages template like this:

<!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>
,'my_app.views.page_detail', name='page_url'),

in my_app/views.py

2. Another method with flat pages stored in database, is to use a "template evaluation tag" in your template like this one.

edit You just have to modify flatpages template like this:

記憶穿過時間隧道 2024-09-13 02:30:59

另一种方法可能是基于 direct_to_template 通用视图

An alternative approach could be to write a simple app based on the direct_to_template generic view.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文