我使用profile方法来定制用户模型。我还使用this站点来创建注册 用户和配置文件同时创建的表单。
现在我想在这个question中写入^{cd1>}视图。我还发现必须使用^{cd2>} 为此目标创建^{cd3>}。
这是我的文件:
#models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField(max_length=500)
degree = models.CharField()
#forms
class SignUpAdminForm(UserCreationForm):
bio = forms.CharField(widget=forms.Textarea)
degree = forms.CharField()
#Also_their_is_another_fields_here
class Meta:
model = User
fields = (
'username',
'email',
'password1',
'password2',
'bio',
'degree',
)
#Views.py
def add_user(request):
if request.method == 'POST':
form = SignUpAdminForm(request.POST)
if form.is_valid():
user = form.save()
user.refresh_from_db()
user.profile.bio = form.cleaned_data['bio']
user.profile.bio = form.cleaned_data['degree']
user.save()
return redirect('view_user')
else:
form = SignUpAdminForm()
template = 'add_user.html'
context = {'form': form}
return render(request, template, context)
def edit_user(request, id):
user = get_object_or_404(User, id=id)
if request.method == "POST":
UserFormSet = modelformset_factory(user, form=SignUpAdminForm)
if UserFormSet.is_valid():
edit_user = UserFormSet.save(commit=False)
edit_user.save()
return redirect('view_user')
else:
UserFormSet = modelformset_factory(User, form=SignUpAdminForm)
template = 'edit_user.html'
context = {'UserFormSet': UserFormSet}
return render(request, template, context)
但是这个视图没有起作用,我也看到了以下链接:1,2,3和4;但是它们帮不了我,我也不明白 怎么办。您能帮我编写编辑视图吗?
我想你需要设置初始用户
这个怎么样?在
相关问题 更多 >
编程相关推荐