3

我需要有一个表单,用户可以在其中输入姓名、电子邮件并选择城市和国家。我正在使用django-cities-light用城市和国家列表填充数据库。

然后,我使用数据库模型使用django-crispy-forms创建一个表单,如下所示。

模型.py

from cities_light.models import City, Country

class CustomModel(models.Model):
    name = models.CharField(max_length=500)
    email = models.EmailField(blank=True)
    city = models.ForeignKey(City)
    country = models.ForeignKey(Country)

表格.py

Class EntryForm(forms.ModelForm):
    class Meta:
        model = CustomModel

    def __init__(self, *args, **kwargs):
        super(EntryForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper(self)
        self.helper.layout.append(ButtonHolder(
            Submit('save', 'Save', css_class='btn-primary')
            )
        )

在视图中使用它会给我一个带有两个文本字段(用于姓名、电子邮件)和两个选择字段(用于城市、国家/地区)的表单。现在,由于城市的数量相当多,我希望将这些更改为使用django-ajax-selects 的文本字段,以便在用户开始输入时显示城市或国家/地区的名称。

文档的一部分提供了 AJAX_LOOKUP_CHANNELS,但我不太明白如何更改我的表单,然后将其与 ajax-selects 连接。非常感谢任何帮助。

4

1 回答 1

3

请参阅 django-ajax-selects 的文档以了解 django-ajax-selects 的用法:https ://github.com/crucialfelix/django-ajax-selects#quick-installation

请注意@yourlabs 我们现在使用 django-autocomplete-light,因此它不再受支持,但它适用于尚未迁移到 django-autocomplete-light 的用户。

于 2015-04-21T11:44:46.650 回答