회원 정보 수정
📌 회원 정보 수정
① profile.html에 정보 수정 버튼 생성.
<h1>PROFILE PAGE</h1>
<b>USERNAME</b><input type="text" value="{{ user }}"><br><br>
<b>EMAIL</b><input type="text" value="{{ user.email }}"><br><br>
<b>FNAME</b><input type="text" value="{{ user.first_name }}"><br><br>
<b>LNAME</b><input type="text" value="{{ user.last_name }}"><br><br>
<a href="{% url 'index' %}"><button>HOME</button></a>
<a href="{% url 'update' %}"><button>MOD</button></a>
<a href="{% url 'delete' %}"><button>DEL</button></a>
② update.html
<h1>UPDATE PAGE</h1>
<form method="post">
{% csrf_token %}
<input type="text" value="{{ user.username }}" disabled><br><br>
<input name="umail" type="text" value="{{ user.email }}"><br><br>
<input name="ufn" type="text" value="{{ user.first_name}}"><br><br>
<input name="uln" type="text" value="{{ user.last_name }}"><br><br>
<button>UPDATE</button>
<a href="{% url 'index' %}"><button type="button">HOME</button></a>
</form>
③ acc/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('index/', views.index, name="index") ,
path('login/', views.userlogin, name="login"),
path('logout/', views.userlogout, name="logout"),
path('profile/', views.profile, name="profile"),
path('delete/', views.delete, name="delete"),
path('signup/', views.signup, name="signup"),
path('update/', views.update, name="update")
]
④ acc/views.py
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from .models import User
# Create your views here.
...
def update(request):
if request.method == "POST":
u = request.user
um = request.POST.get("umail")
uf = request.POST.get("ufn")
ul = request.POST.get("uln")
u.email, u.first_name, u.last_name = um, uf, ul
u.save()
return redirect("profile")
return render(request, "acc/update.html")
비밀번호 수정
📌 비밀번호 수정
① update.html에 비밀번호 수정 버튼 생성.
<h1>UPDATE PAGE</h1>
<form method="post">
{% csrf_token %}
<input type="text" value="{{ user.username }}" disabled><br><br>
<input name="umail" type="text" value="{{ user.email }}"><br><br>
<input name="ufn" type="text" value="{{ user.first_name}}"><br><br>
<input name="uln" type="text" value="{{ user.last_name }}"><br><br>
<button>UPDATE</button>
<a href="{% url 'chpass' %}"><button type="button">CHANGE PASSWORD></button></a>
<a href="{% url 'index' %}"><button type="button">HOME</button></a>
</form>
② chpass.html
<h1>CHANGE PASSWORD PAGE</h1>
<form method="post">
{% csrf_token %}
<input name="npass" type="password" placeholder="NEW PASSWORD"><br><br>
<button>CHAGE</button>
<a href="{% url 'index' %}"><button type="button">HOME</button></a>
</form>
③ acc/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('index/', views.index, name="index") ,
path('login/', views.userlogin, name="login"),
path('logout/', views.userlogout, name="logout"),
path('profile/', views.profile, name="profile"),
path('delete/', views.delete, name="delete"),
path('signup/', views.signup, name="signup"),
path('update/', views.update, name="update"),
path('chpass/', views.chpass, name="chpass")
]
④ acc/views.py
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from .models import User
# Create your views here.
...
def chpass(request):
if request.method == "POST":
u = request.user
np = request.POST.get("npass")
u.set_password(np)
u.save()
return redirect("login")
return render(request, "acc/chpass.html")
'Django' 카테고리의 다른 글
[Django] 댓글 CRUD(1) - 테이블 생성 (0) | 2022.12.21 |
---|---|
[Django] ForeignKey 필드와 역참조 지시자 (0) | 2022.12.21 |
[Django] user CRUD(6) - 회원 가입(C) (0) | 2022.12.21 |
[Django] user CRUD(5) - 회원 삭제(D) (0) | 2022.12.21 |
[Django] user CRUD(4) - 회원 정보 보기(R) (0) | 2022.12.21 |
댓글