【问题标题】:Dynamic drop-down list in Django formsDjango 表单中的动态下拉列表
【发布时间】:2016-08-19 03:49:50
【问题描述】:

我正在尝试在我的 Django 帐户注册表单中添加一个动态下拉列表。

forms.py:

class CompanySignupForm(account.forms.SignupForm):
    first_name = forms.CharField(
        label="First Name",
        max_length=30,
        widget=forms.TextInput(),
        required=True)

    last_name = forms.CharField(
        label="Last Name",
        max_length=30,
        widget=forms.TextInput(),
        required=True)

    company = forms.CharField(
        label="Company Name",
        max_length=60,
        widget=forms.TextInput(),
        required=True)

models.py:

class EmployerProfile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)

    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    company = models.CharField(max_length=40)

    def __unicode__(self):
        return self.company

问题是,如果我希望“公司”字段是一个包含大约 10,000 个条目的下拉列表,那么最好的方法是什么?我应该使用 JS 和 JSON 数据吗? jQuery用于自动完成?我只想以最有效的方式做到这一点。

【问题讨论】:

    标签: python django forms drop-down-menu models


    【解决方案1】:

    您确定要包含 10,000 个条目的下拉菜单吗?是这样,在forms.py

    class CompanySignupForm(forms.ModelForm):
        company = forms.ChoiceField(choices=["10,000", "entries", "here"])
    

    https://docs.djangoproject.com/es/1.9/ref/forms/fields/#choicefield

    但我会选择自动完成字段,使用 http://django-autocomplete-light.readthedocs.org/en/master/

    【讨论】:

      猜你喜欢
      • 2018-11-17
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 2012-11-13
      相关资源
      最近更新 更多