gpt4 book ai didi

python - 在 Django 中编辑配置文件

转载 作者:行者123 更新时间:2023-11-30 22:37:38 25 4
gpt4 key购买 nike

我需要一个编辑个人资料表单来编辑用户名密码头像。但这些字段位于两个 models.Userallusers (OneToOne) 中。如何通过组合两者的字段来创建编辑个人资料表单?

模型.py

class allusers(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.ImageField(upload_to='retest/static/images/')

def __str__(self):
return str(self.user)

最佳答案

使用自定义表单并在 View 中处理它。

这是一个简单的示例。

forms.py

class UserEditForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)
avatar = forms.FileField()

views.py

def user_edit_view(request):
if request.method == "POST" and request.FILES['file']:
form = UserEditForm(request.POST, request.FILES)
if form.is_valid():
your_file = request.FILES['file']
new_username = form.cleaned_data.get('username')
new_password = form.cleaned_data.get('password')
user = User.objects.get(username=request.user.username)
all_user = allusers.objects.get(user=user)
user.username = new_username
user.set_password(new_password)
user.save()
alluser.avatar = your_file
alluser.save()
return render(.................)
return HttpResponse(......)

关于python - 在 Django 中编辑配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com