2017-06-05 75 views
0

所以我是Django的新手(並完成了7部分教程)以及閱讀flatpages app文檔。Django:命名空間的flatpages?

在其結束,誰寫Django文檔給出了一個示範,以怎麼一會檢索所有的flatpages:

{% load flatpages %} 
{% get_flatpages as flatpages %} 
<ul> 
    {% for page in flatpages %} 
     <li><a href="{{ page.url }}">{{ page.title }}</a></li> 
    {% endfor %} 
</ul> 

我現在的flatpages工作(例如,如果我去/頁/ my_flatpage /默認的模板,我已經呈現。因爲我包含url(r'^pages/', include('django.contrib.flatpages.urls'))urlpatterns

因此,我現在在我的另一個應用程序,並希望鏈接到這些頁面使用上面的代碼創建鏈接。我點擊它們,它們不渲染,因爲它們被路由到/my_flatpage/而不是/pages/my_flatpage/

所以我試圖在我的應用程序中包含url模式,但那沒有奏效。我怎樣才能去正確的地方?

回答

1

由於您不是直接在根上託管頁面,因此url屬性不會返回整個路徑。相反,您應該像使用任何其他對象一樣使用URL反轉功能:

{% for page in flatpages %} 
    <li><a href="{% url 'django.contrib.flatpages.views.flatpage' page.url %}">{{ page.title }}</a></li> 
{% endfor %}