2009-09-23 151 views
0

我開始使用官方文檔教程學習django,並創建此註冊表單。 我有整個應用程序設置,但我堅持如何處理數據。我的意思是文檔有點難以理解。如果我能得到一些幫助,那會很好。django註冊模塊

這是該機型是如何設置的:

class user (models.Model): 
    username = models.CharField(max_length=20) 
    name = models.CharField(max_length=25) 
    collegename = models.CharField(max_length=50) 
    event = models.CharField(max_length=30) 
    col_roll = models.CharField(max_length=15) 

    def __unicode__(self): 
     return self.username 

,這是index.html的形式:

<form action="" method="post"></form> 
    <input name="username" type="text" maxlength="40" /> 
    <input name="name" type="text" maxlength="40" /> 
    <input name="collegename" type="text" maxlength="40" /> 
    <input name="event" type="text" maxlength="40" /> 
    <input name="col_roll" type="text" maxlength="40" /> 
    <input type="submit" value="Register" /> 
</form> 

我不明白如何創建過程中這個註冊的視圖一位新用戶。 如果有人能幫助我,那會很棒。數據庫(MySQL)使用名稱(register_user)創建。我不明白如何將上述表單中的值存入數據庫。 如果它是普通的python,它會很容易完成,但是DJANGO我不明白。

非常感謝。

回答

1

您好像沒有閱讀過documentation on forms。它詳細解釋瞭如何從模型創建表單,如何將其輸出到模板中(因此您不需要手動編寫HTML輸入元素)以及如何在視圖中處理它。

0

我開始時花了一些時間來弄清表格處理位。首先你需要在形式部分之前需要創建一個view function。該視圖將使用您的index.html文件作爲模板。在該視圖中,您需要創建一個表單(可以從Daniel的鏈接上面或creating a form from your model)。獲取表單類後,在視圖中提供一個實例化的副本(例如,form = MyRegistrationModelForm()),然後將index.html中的所有輸入標記替換爲{{form}}。這將輸出一個預格式化的表單,這可能不是您想要的,但您可以查看源代碼並查看需要命名的表單字段,然後您可以從中進行自定義。

另一件事。不知道如果你是,但你應該使用django-registration爲此。與其創建自己的用戶類,不如使用django.contrib.auth.models中的內置User類,然後使用django註冊您所需的自定義字段。如果使用已定義的用戶類,則可以更輕鬆地插入其他模塊。

至於數據庫,假設您已經將正確的MySQL連接信息放入settings.py,在項目的根目錄下運行'python manage.py syncdb'應該創建所有必要的表。確保在添加新模型時重新運行它。