ajax填充表单,使用ajax根据另一个字段的输入自动填充django表单字段

我对AJAX或jQuery没有太多的经验。我想收集用户注册时的地址(地址、城市、州和邮政编码)。我有一个Django Form,它有四个字段。地址字段通过googlemapsapi和django地址(https://github.com/furious-luke/django-address)自动填充有效的美国地址。如果我想把这个地址和生活填充,比如说,城市领域,我该怎么做呢?我尝试了上百万种不同的解决方法,但都没有成功。在

在模型.py在class user_profile(models.Model):

user = models.OneToOneField(User, on_delete=models.CASCADE)

address = AddressField()

city = models.CharField(max_length=200)

state = models.CharField(max_length=200)

zip = models.CharField(max_length=200)

在表单.py在

^{pr2}$

模板

Register for an Account

{% if error_message %}

{{ error_message }}

{% endif %}

{% csrf_token %}

{% for field in profileform %}

{{ profileform.media }}

{{ field.errors }}

{{ field }}

{% endfor %}

{% csrf_token %}

Submit

在地址.js在$(function(){

$('input.address').each(function(){

var self = $(this);

var cmps = $('#' + self.attr('name') + '_components');

var fmtd = $('input[name="' + self.attr('name') + '_formatted"]');

document.getElementsByName('address')[0].placeholder='Residential address';

self.geocomplete({

details: cmps,

detailsAttribute: 'data-geo'

}).change(function(){

if(self.val() != fmtd.val()) {

var cmp_names = ['country', 'country_code', 'locality', 'postal_code',

'route', 'street_number', 'state', 'state_code',

'formatted', 'latitude', 'longitude'];

for(var ii = 0; ii < cmp_names.length; ++ii){

$('input[name="' + self.attr('name') + '_' + cmp_names[ii] + '"]').val('');

};

};

});

});

});