2012-04-09 43 views
6

Tôi hiện đang làm việc trên một dự án sử dụng đăng ký django và Django CMS. Khi hiển thị các trang thực hiện đăng ký django, tiêu đề trang của tôi không hiển thị.Tiêu đề trang Django CMS không hiển thị

Hiện tại có <title>{% page_attribute page_title %}</title> trong base.html mà tất cả các mẫu của tôi được kế thừa từ đó.

Trong các trang mà không sử dụng django đăng ký hiển thị tiêu đề tốt, nhưng màn hình django đăng ký như <title></title>

trang của tôi đều tạo ra trong các CMS và mọi thứ khác được hiển thị chính xác. Nếu tôi đặt tiêu đề rõ ràng trong mẫu, tiêu đề sẽ hiển thị, nhưng tôi muốn đặt tiêu đề trong CMS.

Phần liên quan của registration_form.html là dưới đây:

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

Cảm ơn!

Trả lời

10

Thẻ mẫu {% page_attribute %} chỉ hoạt động trên trang CMS. Khi ở chế độ xem được kiểm soát bởi đăng ký django, chúng sẽ không hoạt động và trả về một chuỗi rỗng (vì ngôn ngữ mẫu của Django sẽ không bao giờ tăng ngoại lệ khi chạy). Trong các mẫu được sử dụng bởi đăng ký django, bạn cần ghi đè thẻ tiêu đề.

Vì vậy, tôi khuyên bạn nên sử dụng <title>{% block title %}{% page_attribute page_title %}{% endblock %}</title> trong mẫu cơ sở của mình. Sau đó, trong mẫu đăng ký làm một cái gì đó như {% block title %}Registration{% endblock %}.

+0

Được rồi, tôi nghĩ tôi có thể phải đưa nó vào mẫu, hy vọng tôi có thể đặt nó từ trang. Có cách nào có thể để thiết lập nó từ trang? – plumwd

+0

Một câu hỏi nữa sau đó liên quan đến việc sử dụng các mẫu khác trong ngữ cảnh này. Điều đó có nghĩa là các mục khác như trình giữ chỗ và các mục tương tự cũng sẽ không hoạt động? – plumwd

Các vấn đề liên quan