我最近开始使用Django-cms。我刚刚创建了两个模板 base.html 和 home.html (后者扩展了base.html),将它们注册到 settings.py 就像这样:
CMS_TEMPLATES = (
('base.html', 'Default'),
('home.html', 'Homepage'),
)
我已在管理员中创建了我的主页并选择了主页模板,但该文件的内容从未显示过。
我已按照文档中的说明操作,但我不明白我的错误。
任何人都有任何想法?
答案 0 :(得分:2)
你检查了你的urls.py吗? 您必须确保制作一个将您的观点映射到您的网址的regualr表达式,然后在您的视图中调用/加载模板。
答案 1 :(得分:1)
Kyle Calica的帖子中的小例子:
在你的urls.py中添加如下内容:(在你的myproject /文件夹中还有你的settings.py文件)urlpatterns = patterns('',
url(r'^', include('myapp.urls')),
)
然后在myapp.urls中你需要类似的东西:
urlpatterns = patterns('',
url(r'^$', views.myview, name='myview'),
)
然后在你看来:
def test(request):
return render(request, "my template.html")
并在模板中的最后一个扩展您的基础:
{% extends "base.html" %}
编辑: 这些是django的简单基础知识。如果你没有掌握它们,我建议你再次运行教程并尝试理解它们实际上在做什么。
答案 2 :(得分:0)
Hi Hans(和@Kyle Calica-St),感谢您的回答,但我有正确的网址配置。我刚刚创建了一个新的博客应用程序,我遇到了同样的问题。这是我的文件:
<强> settings.py 强>
CMS_TEMPLATES = (
('base.html', 'Default'),
('home.html', 'Homepage'),
('news/home_news.html', 'News'),
)
<强> urls.py 强>
urlpatterns = i18n_patterns('',
# Homepage
url(r'^$', home_view),
# News
url(r'^news/', include('apps.news.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)
<强> views.py 强>
def home_view(request):
return render(request, 'home.html')
<强> home.html的强>
{% extends "base.html" %}
{% load cms_tags %}
{% block base_content %}
{% placeholder home_content %}
<p>Hello World !</p>
{% endblock %}
同意新闻应用
当我访问主页时,我没有看到&#34; Hello World!&#34; p HTML标记。 我试图更改网址匹配的顺序,没有结果。