我对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 }}
{% 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('');
};
};
});
});
});