Django表单中的动态下拉列表 [英] Dynamic drop-down list in Django forms

查看:621
本文介绍了Django表单中的动态下拉列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to add a dynamic drop-down list in my Django account registration form.

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:

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

问题是,如果我希望字段"company"成为包含大约10,000个条目的下拉列表,那么解决此问题的最佳方法是什么?我应该使用JS和JSON数据吗? jQuery的自动完成功能?我只是想以最有效的方式来做.

The question is, if I want the field "company" to be a drop-down list consisting of about 10,000 entries, what's the best way to approach this? Should I be using JS and JSON data? jQuery for autocomplete? I just want to do it in the most effective way possible.

推荐答案

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

Are you sure you want a dropdown with 10,000 entries? Is so, in 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/

这篇关于Django表单中的动态下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆