Django静态页面?

时间:2009-07-14 07:12:43

标签: django django-admin django-templates

我想创建一个静态页面,只有当他/她点击我的某个模型中提供的链接时才会向用户显示。我可以通过单独创建一个Python页面并调用它来实现这一点,但我想从Django调用它。用户界面应仅使用Django API构建。

有什么建议吗?

5 个答案:

答案 0 :(得分:57)

在较新的Django版本中使用基于类的视图,可以在urls.py中使用它:

from django.views.generic import TemplateView
url(r'^about', 
    TemplateView.as_view(template_name='path/to/about_us.html'),
    name='about'),

答案 1 :(得分:51)

绕过视图以呈现静态模板,在“urls.py”中添加此行。例如,“关于我们”页面可能是

(r'^about', 'django.views.generic.simple.direct_to_template', {'template': 'path/to/about_us.html'}),

答案 2 :(得分:11)

你的意思是像Django的flatpages app吗?它完全符合您的描述。

答案 3 :(得分:2)

如果您想制作静态页面,flatpages是个不错的选择。它允许您轻松创建静态内容。创建静态内容并不比创建视图更难。

答案 4 :(得分:0)

在Django 2.2.6上,大致遵循David的回答,我在 urls.py 中添加了路径:

from django.views.generic import TemplateView

urlpatterns = [
    .... .... ....
    path('about',
         TemplateView.as_view(template_name='path/to/about_us.html'),
         name='about'),

我需要调整 settings.py 以指定模板目录:

TEMPLATES = [{
    ... ... ...
        'DIRS': [os.path.join(BASE_DIR, 'template')],

然后我将实际内容保存在template/path/to/about_us.html