我需要有一个表单,用户可以在其中输入姓名、电子邮件并选择城市和国家。我正在使用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 连接。非常感谢任何帮助。