Django-mysite만들기5 회원정보 수정 기능 추가

|

django mini project

cafe24신입사원 교육과정 - django 수업 내용 정리

강사님github


전체 코드 보기


urls.py에 매핑 코드 추가

urlpatterns = [
	...
    # 업데이트 폼
    path('user/updateform', user_views.updateform),
    
    # db update
    path('user/update', user_views.update),
	...
]

views.py 처리

# 회원정보 수정 폼
def updateform(request):
    user = User.objects.get(id=request.session['authUser']['id'])
    data = {
        'user':user
    }
    return render(request, 'user/updateform.html', data)

# 업데이트 처리
def update(request):
    user = User.objects.get(id=request.session['authUser']['id'])
    user.name = request.POST['name']

    user.gender = request.POST['gender']
    if request.POST['password'] is not '':
        user.password = request.POST['password']
    user.save()
    
    # 수정정보 다시 가져오기
    # 세션을 전체 가져오기
    # request.session['authUser'] = model_to_dict(user)
    
    # 현재 세션의 데이터만 변경하기
    request.session['authUser']['name']=user.name
    return HttpResponseRedirect('/user/updateform?result=success')

updateform.html코드