2013-05-31 77 views
0

您好我正在學習使用Django Web開發,現在嘗試創建一個頁面,允許用戶更新對象信息,並顯示原始屬性內容Django,HTML - 如何允許用戶編輯顯示原始屬性信息的現有對象屬性?

我瞭解如何使創建當用戶輸入的屬性信息新對象,即。

 <label>Some field name:</label> 
     <input type="text" name="field_name"/> 

如果我想顯示,我應該使用

<br>Some Fielname: {{ modelname.fieldname }}</br> 

但是,當涉及到允許用戶更新屬性的信息,我已經試過像

<label>Some field name:</label> 
{{ modelname.fieldname }} 
<input type="text" name="field_name"/> 
一些事情

但是原來的字段信息無法顯示,任何一個都可以幫助解決這個問題,非常感謝

回答

0

基本上是爲了更新對象的值,我們創建一個html表單,它接受屬性,然後使用post請求提交它。後端的查看功能支持更新工作。在你的情況下,你將不得不首先製作一個簡單的信息表,你想要顯示

然後你可以讓每一行成爲一個單獨的表格,或者使整個表格一次編輯。當你按下編輯按鈕時,你將基本上用你的表格替換表格,然後提交或取消將不得不予以照顧。

讓我知道如果我不清楚..

+0

非常感謝Rohit,我明白了這一點的邏輯,但無法弄清楚如何做到這一點,是否可以提供一些非常基本的代碼來說明如何做到這一點。簡單的代碼會好的,我可以自己想出來謝謝Rohhit – Mona

+0

請看這個鏈接 - https://bitbucket.org/jamesdabbs/django-formedab​​le。我現在在辦公室,我們在這裏使用java spring。所以我將不得不爲你寫一個新的。 – Rohit

0

的Django有一個非常好的文檔:https://docs.djangoproject.com/en/dev/topics/forms

循環在窗體的領域

如果您使用的是相同的HTML每個表單域中,通過循環使用{% for %}循環,可以減少重複代碼:

{ %,爲形式% {{field.errors}} {{field.label_tag}}字段}:{{字段}} {%ENDFOR%}

在這個循環中,{{ field }}是BoundField的一個實例。綁定列還具有以下屬性,它可以在你的模板是有用的:

{{field.label}}

領域的標籤,例如電子郵件地址。

{{field.label_tag}}

字段的標籤包裝在適當的HTML標籤<label>, 例如<label for="id_email">Email address</label>

{{field.value}}

的字段的值。例如某人@例子。COM

{{field.html_name}}

將在輸入 元素的名稱字段中使用的字段的名稱。如果已設置,則會考慮表格前綴 。

{{field.help_text}}

已與該領域相關的任何幫助文本。

{{field.errors}}

輸出一個<ul class="errorlist">含有 對應於該 領域的任何驗證錯誤。您可以使用{% for error in field.errors %}循環自定義 錯誤的表示。 在這種情況下,循環中的每個對象都是包含錯誤消息的簡單 字符串。

{{field.is_hidden}}

該屬性爲True,如果表單域是隱藏 場,否則爲假。它不是作爲一個模板變量特別 有用的,但可能是在條件測試,如有用 :

{% if field.is_hidden %} 
     {# Do something special #} 
    {% endif %} 

{{field.field}}

從窗體類的Field實例,這 綁定列包裝。您可以使用它來訪問字段 屬性,例如{{char_field.field.max_length}}。