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