2012-04-09 12 views
6

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

現在、私のすべてのテンプレートが継承している<title>{% page_attribute page_title %}</title>がbase.htmlにあります。 <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 %} 

ありがとう!

答えて

10

{% page_attribute %}テンプレートタグはCMSページでのみ動作します。 Django登録によって制御されたビューでは、Djangoのテンプレート言語は実行時に例外を発生させてはならないので、空の文字列を返すことはできません。 django-registrationで使用されるテンプレートでは、titleタグをオーバーライドする必要があります。

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

+0

さて、私はそれをテンプレートに入れなければならないかもしれないと思っていましたが、ページから設定できることを望んでいました。ページから設定する方法はありますか? – plumwd

+0

この文脈の中で他のテンプレートを使用することに関してもう一つの質問があります。プレースホルダーなどの他のアイテムも機能しないことを意味しますか? – plumwd

関連する問題