2010-05-09 17 views
0

我想知道在這裏採取的最佳方法是什麼。我有一張人們用來註冊課程的表格,很多時候公司的經理會同時爲班級註冊多個人。目前,他們必須多次完成註冊過程,併爲每個他們想註冊的人重新提交一次表格。在DB中生成許多行的處理表單

我想要做的是爲用戶提供一個表單,其中有一個人要註冊一個<input/>,以及他們需要填寫的所有其他字段(電子郵件,電話號碼等);如果他們想添加更多的人,他們將能夠按下按鈕,並且將生成新的<input/>。這部分我知道該怎麼做,但我將它包括在內以最好地描述我打算做的事情。

的一部分,我知道如何處理是處理數據的形式提交,我需要爲每一個<input/>註冊人表多數民衆贊成加入使得新行的一些方法,包括相同的聯繫方式(電話,電子郵件等)作爲該行的第一行。爲了記錄,我爲我的後端代碼使用了Django框架。

這裏最好的辦法是什麼?它是否應該以x的形式發佈x人,或者是否有一種較不「蠻力」的方式來處理?

回答

4

Django包含FormSet來處理這些挑戰。使用FormSet可以創建多個表單來創建或更新信息。甚至有可能從模型生成FormSet。 http://docs.djangoproject.com/en/dev/topics/forms/formsets/http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#id1是很好的資源。

現在,爲了創建更多的表單,您需要一些JavaScript魔法。我已經在使用jQuery的工作項目上做了這個,這使得它更簡單。基本思想是創建一個帶有正確輸入的新表單,並以formset形式更改隱藏的元數據,以便現在處理多少表單。當使用多個內聯表單時,管理員實現了這一點,所以我建議在那裏尋找代碼,因爲要正確使用它有點棘手。

+0

你。是。真棒 – Zack 2010-05-09 12:50:28