Django CMS页面标题不呈现

时间:2012-04-09 18:03:03

标签: django-templates django-registration django-cms

我目前正在开发一个使用django-registration和Django CMS的项目。当显示实现django-registration的页面时,我的页面标题不会呈现。

目前我的所有模板都继承了base.html中的<title>{% page_attribute page_title %}</title>

在不使用django-registration的页面中,标题显示得很好,但是django-registration显示为<title></title>

我的所有页面都在CMS中创建,其他所有内容都正确呈现。如果我在模板中明确设置标题,标题将呈现,但我宁愿在CMS中设置它。

registration_form.html的相关部分如下:

{% extends "base.html" %}
{% load cms_tags %}
{% load i18n %}
{% block "html_headers" %}
   <!-- conditional stuff here -->
  <link href="/media/css/forms.css" rel="stylesheet" type="text/css" />
{% endblock %}

谢谢!

1 个答案:

答案 0 :(得分:13)

{% page_attribute %}模板标记仅适用于CMS网页。在由django-registration控制的视图中,它们将无法工作而是返回一个空字符串(因为Django的模板语言不应该在运行时引发异常)。在django-registration使用的模板中,您需要覆盖标题标记。

因此,我建议您在基本模板中使用<title>{% block title %}{% page_attribute page_title %}{% endblock %}</title>。然后在注册模板中执行{% block title %}Registration{% endblock %}

之类的操作