我正在建立一个网站,并希望每个用户都可以上传和更新自己的个人资料图片。
更新配置文件模板加载完全正常。我可以更新除图像字段之外的所有其他字段。它只能从/ admin页面更新,但不能从更新配置文件页面更新。
这是个人资料模型中的我的图片字段:
character_1 = {'Money': .3, 'Strength': .25, 'Speed': .05}
character_2 = {'Money': .3, 'Age': 25, 'Speed': .7}
character_3 = {'Money': .3, 'Strength': .25, 'Power': 5}
dict_list = [character_1, character_2, character_3]
result = dict()
for d in dict_list:
for k, v in d.items():
if k in result:
result[k] += v
else:
result[k] = v
print(result)
{'Money': 0.8999999999999999, 'Strength': 0.5, 'Speed': 0.75, 'Age': 25, 'Power': 5}
>>>
这是我的ProfileForm:
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
dob = models.DateField(default=datetime.date(1989, 12, 25))
gender = models.CharField(max_length=12, choices=GENDER_CHOICES, default='Unspecified')
city = models.CharField(max_length=100, default='Braşov')
image = models.ImageField(upload_to='profilepics', blank=True)
这是html模板:
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ('dob', 'gender', 'city', 'image')
这是update_profile视图:
{% block body %}
<form method="post">
<div class="container">
{% csrf_token %}
{{ user_form.as_p }}
{{ profile_form.as_p }}
<button type="submit">Update</button>
<a href="myprofile" class="btn btn-info" role="button">Cancel</a>
</form>
</div>
{% endblock %}
非常感谢您的阅读!
答案 0 :(得分:1)
将属性enctype添加到html文档enctype="multipart/form-data"
中的表单标记中
看到这个问题 Django ModelForm Imagefield Upload
正如w3schools中记载的那样 https://www.w3schools.com/tags/att_form_enctype.asp