9

現在、django-registration と Django CMS を使用するプロジェクトに取り組んでいます。django-registration を実装するページを表示すると、ページ タイトルがレンダリングされません。

現在<title>{% page_attribute page_title %}</title>、すべてのテンプレートが継承する base.html にあります。

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 %}

ありがとう!

4

1 に答える 1

15

テンプレート タグは{% page_attribute %}CMS ページでのみ機能します。django-registration によって制御されるビューでは、それらは機能せず、代わりに空の文字列を返します (Django のテンプレート言語は実行時に例外を発生させないため)。django-registration で使用されるテンプレートでは、タイトル タグをオーバーライドする必要があります。

<title>{% block title %}{% page_attribute page_title %}{% endblock %}</title>したがって、基本テンプレートで使用することをお勧めします。次に、登録テンプレートで次のようなことを行います{% block title %}Registration{% endblock %}

于 2012-04-10T11:34:16.803 に答える