【问题标题】:How do I use Django's form framework for select options?如何使用 Django 的表单框架来选择选项?
【发布时间】:2011-06-14 20:59:47
【问题描述】:

http://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.Select

在这里,它说我可以做 SELECT 小部件。但是我该怎么做呢? 它没有显示任何关于如何在 python 中编写该字段的示例。

 <select>
   <option>option 1</option>
   <option>option 2</option>
 </select>

【问题讨论】:

    标签: python html django forms


    【解决方案1】:

    Django 2.0

    Options = [
            ('1', 'Hello'),
            ('2', 'World'),
          ]
    category = forms.ChoiceField(label='Category', widget=forms.Select, choices=sample)
    

    顺便说一句,元组也和列表一样工作。

    Options = (
            ('1', 'Hello'),
            ('2', 'World'),
         )
    category = forms.ChoiceField(label='Category', widget=forms.Select, choices=sample)
    

    【讨论】:

    • 在 Django 2.1.15 中使用此格式时出现 TypeError,请搜索问题 #61037692
    【解决方案2】:

    errx 的解决方案在我的情况下几乎是正确的,以下确实有效(django v1.7x):

    CHOICES= (
    ('1','ME'),
    ('2','YOU'),
    ('3','WE'),
    )
    select = forms.ChoiceField(widget=forms.Select, choices=CHOICES)
    

    CHOICES里面的元素对应($option_value,$option_text)。

    【讨论】:

      【解决方案3】:
      class MyForm(forms.Form):
          CHOICES = (('Option 1', 'Option 1'),('Option 2', 'Option 2'),)
          field = forms.ChoiceField(choices=CHOICES)
      
      print MyForm().as_p()
      
      # out: <p><label for="id_field">Field:</label> <select name="field" id="id_field">\n<option value="Option 1">Option 1</option>\n<option value="Option 2">Option 2</option>\n</select></p>
      

      【讨论】:

      • 它说:__init__() 得到了一个意外的关键字参数“选择”
      • 选项应该在小部件构造函数中定义
      • 感谢您修复它 TIMEX :P
      【解决方案4】:
      CHOICES= (
      ('ME', '1'),
      ('YOU', '2'),
      ('WE', '3'),
      )
      select = forms.CharField(widget=forms.Select(choices=CHOICES))
      

      【讨论】:

        猜你喜欢
        • 2018-05-09
        • 2013-02-14
        • 2016-10-13
        • 2016-03-22
        • 1970-01-01
        • 2016-04-26
        • 1970-01-01
        • 1970-01-01
        • 2011-08-10
        相关资源
        最近更新 更多