Django-cms - 从未显示所选模板

时间:2014-07-23 19:30:08

标签: python django django-cms

我最近开始使用Django-cms。我刚刚创建了两个模板 base.html home.html (后者扩展了base.html),将它们注册到 settings.py 就像这样:

CMS_TEMPLATES = (
    ('base.html', 'Default'),
    ('home.html', 'Homepage'),
)

我已在管理员中创建了我的主页并选择了主页模板,但该文件的内容从未显示过。

我已按照文档中的说明操作,但我不明白我的错误。

任何人都有任何想法?

3 个答案:

答案 0 :(得分:2)

你检查了你的urls.py吗? 您必须确保制作一个将您的观点映射到您的网址的regualr表达式,然后在您的视图中调用/加载模板。

https://docs.djangoproject.com/en/dev/intro/tutorial03/

答案 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标记。 我试图更改网址匹配的顺序,没有结果。