最小的URL和django上静态页面的视图

时间:2011-06-04 01:23:07

标签: django

我正在创建的应用程序有许多静态页面,就像一段时间内不会改变的网站页面一样。我的模特我将有一个标题字段和一个文本字段。我正在寻找一种方法来避免每个页面的多个视图和多个网址。我尝试使用flatpages,但我无法使用上下文处理器。例如,如果某个页面有许多网格。那么如何编写单个视图和一个将提供所有页面的URL以及上下文处理器。

1 个答案:

答案 0 :(得分:3)

如果您遇到平板电脑问题,编写自己的版本并不难!

<强> models.py

from markdown import markdown

class CustomFlatPage(models.Model):
    title = models.CharField(max_length=100)
    body = models.TextField()
    slug = models.SlugField(unique=True)

<强> urls.py

url(r'^(?P<slug>[-\w]+)/$','myapp.views.customflatpage', name='customflatpage'),

<强> views.py

from django.views.generic.simple import direct_to_template
def customflatpage(request,slug):
page = get_object_or_404(CustomFlatPage, slug=slug)
    return direct_to_template('path/flatpage_template.html',
        extra_context={
            "page":page,
        })

模板(可以访问请求上下文等)

{{ page.title}}
{{ load markup }}
{{ page.body|markdown }}

如果你想要富文本,请在django-admin中使用TinyMCE(如果你正在使用它)或你自己的表格。