2015-11-17 21 views
6

Tôi đang sử dụng django flatpage s và tôi tự hỏi nếu có cách súc tích để tải một trang phẳng cụ thể trong một mẫu. Các tài liệu cho thấy các mẫu sau:Sử dụng một trang phẳng cụ thể trong một mẫu

{% load flatpages %} 

{% get_flatpages '/about/' as about_pages %} 
{% get_flatpages about_prefix as about_pages %} 
{% get_flatpages '/about/' for someuser as about_pages %} 

Tôi chỉ muốn tải một trang cụ thể trong một mẫu, chủ yếu sử dụng nó như một tuyên bố bao gồm (ví dụ {% include 'homepage.html' %})

Phương pháp tôi đang sử dụng là:

{% get_flatpages '/flat-homepage/' as flatpages %} 
{{ flatpages.first.content|safe }} 

Điều này làm việc tốt, nhưng tôi nghĩ rằng có thể có một cách hơi neater để làm điều này. Tôi đang đánh dấu nội dung là safe vì tôi muốn áp dụng kiểu html (một lần nữa, không chắc chắn nếu có cách nào tốt hơn để làm điều này)

+0

Bạn đang cố truy cập nội dung đó ngoài trang phẳng mong muốn? – GwynBleidD

Trả lời

2

Theo mặc định, có 2 giải pháp cho điều đó.

Đầu tiên, đăng ký flatpage của bạn trong url như sau:

from django.contrib.flatpages import views 

urlpatterns = [ 
    url(r'^about-us/$', views.flatpage, {'url': '/about-us/'}, name='about'), 
] 

Bằng cách đó, bạn có thể truy cập nó bằng cách sử {% url %} thẻ, giống như xem bình thường.

cách Thứ hai, nếu bạn biết chính xác url của trang đó, bạn có thể truy cập nó là url sử dụng:

{% url 'django.contrib.flatpages.views.flatpage' url='url_to_flatpage_here' %} 

Không có cách nào khác, bởi vì tất cả flatpages được xác định bởi url.

+0

Tôi đã thử với tên URL và nó đã hoạt động: {% url 'về'%} – Lara

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