2015-11-17 2 views
6

私はdjango flatpageを使用しています。テンプレート内に特定のフラットページを簡単にロードする方法があるのでしょうか。テンプレート内で特定のフラットページを使用する

{% load flatpages %} 

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

私は基本的に含ま文のようにそれを使用して、テンプレート内にある特定のページをロードする(例えば{% include 'homepage.html' %}

私が使用しているアプローチはこれです:ドキュメントには、以下のパターンを示し

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

これはうまくいきますが、これをやややりやすくする方法があると思いました。私はsafeとしてコンテンツをマークしていますが、HTMLスタイルを適用したいのです(これを行う良い方法があるかどうかは分かりません)

+0

希望のフラットページ以外のコンテンツにアクセスしようとしていますか? – GwynBleidD

答えて

2

デフォルトでは、2つの解決策があります。

まず、以下のようなURLであなたのフラットページを登録します。

from django.contrib.flatpages import views 

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

その方法は、あなたが通常のビューのように、{% url %}タグを使用してアクセスすることができます。

第二の方法あなたは、そのページの正確なURLを知っていれば、あなたはそれが使用してのURLにアクセスすることができます

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

全てにflatpagesはURLによって識別されるため、他の方法は、ありません。

+0

URL名で試したところ、{%url 'about'%} – Lara

関連する問題