クラスユーザーフォーム(forms.Form): ユーザ名 = fields.CharField( 必須 =真、error_messages、= { ' 必要':' ユーザー名は空にすることはできません' }、 ウィジェット = widgets.TextInput(ATTRS = { ' クラス':' フォーム-コントロール' }) ) # の正規表現 パスワード= fields.CharField(= Trueの必要、error_messages、= { ' 必須':' ユーザー名空にすることはできません' }、 ウィジェットは = widgets.TextInput(ATTRS = {「クラス」:「フォームコントロール」}) ) #の正規表現 メール= fields.EmailField(= Trueの必要、error_messagesにおいて、= { 「必須」:「ユーザー名空にすることはできません」、「無効」:「メールフォーマットエラー」}、 ウィジェット = widgets.TextInput(ATTRS = { ' クラス':' フォームコントロール' }) )# 正規表現 #ut_idを= fields.IntegerField( # 必須=真、 #1 ウィジェット= widgets.Select(ATTRS = { 'クラス': 'フォームコントロール'}、選択肢= [(1、 '普通用户')、(2 '超级用户')]) # ) ut_idを= fields.IntegerField( 必須 = 真、 ウィジェット = widgets.Select( ATTRS = { ' クラス':' フォームコントロール' }、 選択肢 = models.UserType.objects.values_list(' ID '、「名前」) ) )# ##データベースは問題の解決するために、リアルタイムに更新 DEFの __init__(セルフ、* argsを、** kwargsからの): スーパー(ユーザーフォーム、セルフ)__init__(* argsを、** kwargsから) self.fields [ ' ut_idを' ] = .widget.choices models.UserType.objects.values_list(' ID '、' 名前')