2017-07-19 55 views
0

我有一個名爲「base.html」的基本模板的Django應用程序。該模板提供網站中所有頁面的外觀。在這些頁面的很多 - 雖然不是全部 - 我想從我的數據庫中提取數據並以一致的格式顯示它。我想在另一個名爲「base2.html」的基礎中創建該格式的模板。這意味着在我提供數據的頁面上,我需要擴展「base.html」和「base2.html」。如何從同一頁面上的兩個html頁面擴展?你可以在django中引用多個基本模板嗎?

+2

我想你會想使用'{%include'template.html'%}'標籤。 –

回答

0

我會嘗試這一點,

在你想要一個不同的基本視

我會派一個關鍵的請求數據,像這樣

在views.py

def some_view_one(request): 
    different_base = "base1.html" 
    return render(request, 'customer/parent_template.html', {'different_base': different_base}) 

def some_view_two(request): 
    different_base = "base2.html" 
    return render(request, 'customer/parent_template.html', {'different_base': different_base}) 

在parent_template.html在第一行。這裏

{% extend different_base %} 

注意view_one將延長base1.html和view_two將延長base2.html

沒有嘗試過的一樣。

請讓我知道。

+0

這是有道理的。總之,你正在創造兩個基地。當你不從數據庫中提取數據時的一個基礎,當你有一個基礎時。然後根據需要從一個或另一個基地延伸。這是一個很好的解決方案。謝謝。 – henrich

+0

請讓我知道它是否有效。我們也可以使用模板標籤來完成此功能..但是這需要更多的瞭解場景。 –

+0

當您拉取數據一次時,此功能起作用。就我而言,我擁有數據庫中的文章,這些文章的屬性喜歡標題,作者,發佈日期等。當我在網頁上發佈這些信息時,我希望每篇文章的信息都出現在它自己的框中,我希望那個框以統一的方式格式化(盒子的CSS/HTML應該是模板)。我的問題是我無法將框放在基本模板中,然後只是從該模板擴展,因爲當我使用for循環顯示文章信息時,我需要一遍又一遍地顯示該框。 – henrich

相關問題