django - 如何在 django 的用户模块的个人资料页面中编辑特定用户的详细信息
问题描述
我创建了注册表单和登录表单。现在我想编辑和删除注册表单的特定详细信息。我用下面的代码尝试过,但它不起作用。它只允许我编辑管理面板用户详细信息。
这是我的代码
模型.py
from django.db import models
from django.contrib.auth.models import User
class UserProfileInfo(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
def __str__(self):
return self.user.username
表格.py
from django import forms
from .models import UserProfileInfo
from django.contrib.auth.models import User
class UserProfileInfoForm(forms.ModelForm):
class Meta():
model = UserProfileInfo
fields = [ ]
class editProfile(forms.ModelForm):
class Meta():
model = User
fields = ['first_name','last_name','username','email','password']
help_texts={
'username': None
}
视图.py
from django.shortcuts import render
from .forms import UserForm,UserProfileInfoForm,editProfile
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponseRedirect, HttpResponse
from django.urls import reverse
from django.contrib.auth.decorators import login_required
def edit_profile(request):
if request.POST:
user = User.objects.get(pk=request.user.id)
user.username=request.POST.get('user')
user.email=request.POST.get('email')
user.first_name=request.POST.get('first_name')
user.last_name=request.POST.get('last_name')
user.password=request.POST.get('password')
user.save()
return HttpResponseRedirect(reverse('signupapp:index'))
user_profile = request.user.get_profile()
return render_to_response('edit.html',{'profile':user_profile },context_instance=RequestContext(request))
谁能帮我解决这个问题。
解决方案
推荐阅读
- java - 受密码保护的 Java Spring Log4j
- android - 如何在 Android 上以编程方式记录蓝牙活动(已配对、未配对、已连接、已断开)?
- tomcat - 带有 HTTP/2 和 TLSv1.3 的 Tomcat
- phpmyadmin - 配置文件现在需要一个秘密密码(blowfish_secret)
- actions-on-google - 调光开关的良好智能家居动作
- build - 如何在 CentOS 8 上使用 EPEL 的 boost169-devel 正确构建?
- react-native - 当前的 Android SDK 支持是什么?- 世博会
- python - 如何在弹出窗口中保存我的复选框的值
- r - 在闪亮的服务器上运行闪亮的应用程序
- c# - Xamarin.Forms 编译绑定不适用于 DataTemplate