在我的联系人模型中,我使用一些第三方库来更轻松地处理诸如phonenumber或address之类的参数。
from django.db import models
from address.models import AddressField
from phonenumber_field.modelfields import PhoneNumberField
class Contact(models.Model):
"""Contact documentation"""
firstname = models.CharField(max_length=254)
lastname = models.CharField(max_length=254)
address = AddressField(on_delete=models.CASCADE)
email = models.EmailField(max_length=254)
phone = PhoneNumberField()
现在,我想使用Django的自动表单创建功能并使用AngularJS处理表单数据,对于AngularJS来说,django-angular是一个很好的工具,因为它向表单输入添加了ng-model参数(然后可以将其绑定到AngularJS的$ scope)。
不幸的是,django-angular库不支持第三方字段。如果我尝试将其包含在表单中,则会得到“ django.core.exceptions.ImproperlyConfigured:请使用djng.forms.fields中对应的表单字段作为表单中的字段“ address = AddressField(...)” ”,它继承自“ NgForm”或“ NgModelForm”。错误。
from address.forms import AddressField
from phonenumber_field.formfields import PhoneNumberField
from .models import Contact
from djng.forms import NgModelFormMixin, NgModelForm
class ContactForm(NgModelFormMixin, NgModelForm):
address = AddressField()
phone = PhoneNumberField(label='Phone number')
class Meta:
model = Contact
fields = ('firstname', 'lastname', 'address', 'email', 'phone')
有什么方法可以将ng-model绑定到第三方FormField,以便可以由AngularJS处理?