2013-12-21 59 views
0

我正在動態模板上工作,我希望能夠包括它的最後一部分。我的問題:我得到了與對象的字段相關的x個字段。但是當我傳遞另一個模型對象時,它應該顯示其他字段。django動態模板鏈接dictonary到對象字段

例: 模型1個顯示對象的名稱,類別,批准 模型2顯示對象名稱,屬性,

對於其他變量的事情,我做的是保持信息的字典,問題是,我不知道我怎麼可以將對象字段鏈接到它。 Dictonary發送到模板:

field_map = {'field1': 'Name', 'field2': 'Category', 'field3': 'Approved'} 

模板:

{% if objects|length > 0 %} 
<table style="padding: 3px;"> 
    <tr style=" text-align: center;"> 
    {% for key, value in field_map %} 
     <th>{{ value }}</th> 
    {% endfor %} 
    </tr> 
    {% for object in objects %} 
    <tr> 
     <td>{{ object.name }}</td> 
     <td>{{ object.category }}</td> 
     <td>{{ object.approved }}</td> 
    </tr> 

但現在我想的對象字段添加到field_map領域。 因爲我會發送更多然後1個對象

希望我解釋得很好,我的問題。

有人可以幫我嗎?

回答

1

您正試圖重新解決已經解決的問題。請使用Django的tables2呈現在Django表:https://github.com/bradleyayers/django-tables2

更新:要回答如何刪除或編輯分頁頁腳OP的評論:

如果你不希望有分頁到您的表那麼就配置表傳球paginate=NoneRequestConfig這樣的:

table = TestTable(Test.objects.all()) 
RequestConfig(request, paginate=None).configure(table) 
return render(request, 'test.html', {'table': table}) 

如果要編輯頁腳您自我,那麼你必須提供一個新的表格渲染模板。爲此,您只需將table.html的內容從這裏https://github.com/bradleyayers/django-tables2/blob/master/django_tables2/templates/django_tables2/table.html複製到您的模板目錄。然後,您可以根據需要修改此文件,例如文件末尾的分頁部分介於{% if table.page %}{% endif %}之間。

現在,創建自定義表格模板後,您需要使用此模板呈現您的表格。如果您的命名模板作爲mytable.html就用以下語法從正常的模板中:

{% render_table mytable "mytable.html" %} 
+0

謝謝,我去看看它 –

+0

沒問題 - 如果你的波qestions請更新您的問題在django-tables2上! – Serafeim

+0

會做,試驗它,並且已經熱愛了 –