2015-11-17 32 views
6

Używam django flatpage s, i zastanawiam się, czy istnieje zwięzły sposób ładowania jednej konkretnej strony w szablonie. Docs wykazują następujące wzory:Używanie konkretnej płaskiej strony w szablonie

{% load flatpages %} 

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

po prostu chcę, aby załadować jedną określoną stronę w szablonie, zasadniczo używając go jak zestawienia obejmują (np {% include 'homepage.html' %})

Podejście używam to:

To działa dobrze, ale myślałem, że może być nieco lepszy sposób robienia tego. Zaznaczam treść jako safe, ponieważ chcę, aby zastosowano style html (ponownie, nie jestem pewien, czy jest lepszy sposób)

+0

Czy próbujesz uzyskać dostęp do tej zawartości poza pożądaną stroną płaską? – GwynBleidD

Odpowiedz

2

Domyślnie istnieją 2 rozwiązania.

pierwsze, zarejestruj flatpage w adresach URL jak poniżej:

from django.contrib.flatpages import views 

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

ten sposób można do niego dostęp za pomocą {% url %} tag, jak normalnego widoku.

Drugi sposób, jeśli wiesz, dokładny adres URL tej strony, można uzyskać dostęp za pomocą To URL:

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

Nie ma innej drogi, ponieważ wszystkie flatpages są identyfikowane za pomocą adresu URL.

+0

Próbowałem z nazwą URL i działało: {% url 'about'%} – Lara