📌
- veiws.py main 아래 추가부분
def logout(request) :
auth.logout(request) #세션종료
return HttpResponseRedirect("../login/")
# urls.py : info/<std:id>/ => info요청 url에서 id값을 id를 매개변수로 전달
def info(request,id) :
try :
login = request.session["login"]
except : # 로그아웃상태.
context = {"msg":"로그인하세요","url":"../../login"}
return render(request,"alert.html",context)
else : #로그인 된 경우
if login == id or login =='admin' :
member = Member.objects.get(id=id)
return render(request,"member/info.html",{"mem":member})
else : # 본인아닌경우
context = {"msg":"본인만 조회 가능합니다.","url":"../../main"}
return render(request,"alert.html",context)
def update(request,id) :
try :
login = request.session["login"]
except : # 로그아웃상태.
context = {"msg":"로그인하세요","url":"../../login"}
return render(request,"alert.html",context)
else : #로그인 된 경우
if login == id or login =='admin' :
update_rtn(request,id)
else : # 본인아닌경우
context = {"msg":"본인만 조회 가능합니다.","url":"../../main"}
return render(request,"alert.html",context)
def update_rtn(request,id) :
if request.method !="POST" :
member = Member.object.get(id=id)
return render(request,"member/update.html",{"mem":member})
else :
return render(request,"member/info.html",{"mem":member})
- update_rtn 수정된 변천사1
def update_rtn(request,id) :
if request.method !="POST" :
member = Member.object.get(id=id)
return render(request,"member/update.html",{"mem":member})
else :
# return render(request,"member/info.html",{"mem":member})
#비밀번호 검증
#비밀번호 오류시 비밀번호 오류 메세지, update.html 페이지 출력
#member.pass1 : db에 등록된 비밀번호
#request.POST["pass"] : 입력된 비밀번호
if request.POST["pass"] == member.pass1 : #입력pw와 dbpw가 같다면
pass
else : #같지않다면 오류메세지와 업데이트페이지 출력
context = {"msg":"비밀번호 오류입니다.",\\
"url":"../../update/"+id+"/"}
return render(request,"alert.html",context)
- update_rtn 수정된 변천사2
def update_rtn(request,id) :
if request.method !="POST" :
member = Member.object.get(id=id)
return render(request,"member/update.html",{"mem":member})
else :
# return render(request,"member/info.html",{"mem":member})
#비밀번호 검증
#비밀번호 오류시 비밀번호 오류 메세지, update.html 페이지 출력
#member.pass1 : db에 등록된 비밀번호
#request.POST["pass"] : 입력된 비밀번호
if request.POST["pass"] == member.pass1 : #입력pw와 dbpw가 같다면
member = Member(id=request.POST["id"],\\
pass1=request.POST["pass"],\\
name=request.POST["name"],
gender=request.POST["gender"],
tel=request.POST["tel"],
email=request.POST["email"],
picture=request.POST["picture"])
#id값 존재. id값 없으면 insert
member.save() #update 문장 실행.
return HttpResponseRedirect("../../info/"+id+"/")
else : #같지않다면 오류메세지와 업데이트페이지 출력
context = {"msg":"비밀번호 오류입니다.",\\
"url":"../../update/"+id+"/"}
return render(request,"alert.html",context)
📌 join.html
{% extends "base1.html" %} {# 한줄주석#}
{% block content %}
<script type="text/javascript">
function win_upload() {
var op = "width=500, height=500, left=50,top=150";
open("../picture/","",op);
}
</script>
<form action="../join/" name="f" method="post">
{% csrf_token %}
<input type="hidden" name="picture" value="" >
<table><tr><td rowspan="4" valign="bottom">
<img src="" width="100" height="120" id="pic"><br>
<font size="1"><a href="javascript:win_upload()">사진등록</a></font>
</td><th>아이디</th><td><input type="text" name="id"></td></tr>
<tr><th>비밀번호</th><td><input type="password" name="pass"></td></tr>
<tr><th>이름</th><td><input type="text" name="name"></td></tr>
<tr><th>성별</th>
<td><input type="radio" name="gender" value="1" checked>남
<input type="radio" name="gender" value="2">여</td></tr>
<tr><th>전화번호</th>
<td colspan="2"><input type="text" name="tel"></td></tr>
<tr><th>이메일</th>
<td colspan="2"><input type="text" name="email"></td></tr>
<tr><td colspan="3"><input type="submit" value="회원가입"></td></tr>
</table></form>
{% endblock %}
📌 info.html
{% extends "base1.html" %}
{% block content %}
<table class="w3-table-all w3-border"><caption>회원 정보 보기</caption>
<tr><td rowspan="6" width="30%">
<img src="/file/picture/{{mem.picture}}" width="200" height="210"></td>
<th width="20%">아이디</th><td>{{mem.id}}</td></tr>
<tr><th>이름</th><td>{{mem.name}}</td></tr>
<tr><th>성별</th><td>{% if mem.gender == 1 %} 남
{% else %} 여
{% endif %}</td></tr>
<tr><th>전화</th><td>{{mem.tel}}</td></tr>
<tr><th>이메일</th><td>{{mem.email}}</td></tr>
<tr><td colspan="2" class="w3-center">
<a href="../../update/{{mem.id}}/">[수정]</a>
{% if request.session.login != 'admin' %}
<a href="../../delete/{{mem.id}}/">[탈퇴]</a>
{% endif %}
</td></tr></table>
{% endblock content %}
📌 update.html
{% extends "base1.html" %}
{% block content %}
<script type="text/javascript">
function inputcheck(f) {
if(f.pass.value == "") {
alert("비밀번호를 입력하세요");
f.pass.focus();
return false;
}
}
function win_passchg() {
var op = "width=500, height=250, left=50,top=150";
open("../../password/{{mem.id}}/","",op);
}
function win_upload(){
var op = "width=500,height=150,left=50, top=150";
open("../../picture/","",op);
}
</script>
<form action="../../update/{{mem.id}}/" name="f" method="post" onsubmit="return inputcheck(this)">
{% csrf_token %}
<input type="hidden" name="picture" value="{{mem.picture}}">
<table><caption>회원 정보 수정</caption>
<tr><td rowspan="4" valign="bottom">
<img src="/file/picture/{{mem.picture}}" width="100" height="120" id="pic"><br>
<font size="1"><a href="javascript:win_upload()">사진수정</a></font>
</td><th>아이디</th>
<td><input type="text" name="id" readonly value="{{mem.id}}"></td></tr>
<tr><th>비밀번호</th><td><input type="password" name="pass" ></td></tr>
<tr><th>이름</th>
<td><input type="text" name="name" value="{{mem.name}}"></td></tr>
<tr><th>성별</th><td><input type="radio" name="gender" value="1"
{% if mem.gender == 1 %}
checked
{% endif %}>남
<input type="radio" name="gender" value="2"
{% if mem.gender == 2 %}
checked
{% endif %}>여</td></tr>
<tr><th>전화번호</th>
<td colspan="2"><input type="text" name="tel" value="{{mem.tel}}"></td></tr>
<tr><th>이메일</th><td colspan="2"><input type="text" name="email"
value="{{mem.email}}"></td></tr>
<tr><td colspan="3"><input type="submit" value="회원수정">
<input type="button" value="비밀번호수정" onclick="win_passchg()">
</td></tr></table></form>
{% endblock content %}
📌 delete.html 회원탈퇴
{% extends "base1.html" %}
{% block content %}
<script type="text/javascript">
function inputcheck(f) {
if(f.pass.value == "") {
alert("비밀번호를 입력하세요")
f.pass.focus();
return false;
}
return true;
}
</script>
<form action="../../delete/{{id}}/" method="post" onsubmit="return inputcheck(this)">
{% csrf_token %}
<table>
<caption>회원비밀번호 입력</caption>
<tr><th>비밀번호</th>
<td><input type="password" name="pass" /></td></tr>
<tr><td colspan="2">
<input type="submit" value="탈퇴하기" /></td></tr>
</table></form>
{% endblock %}
'수업(국비지원) > Django' 카테고리의 다른 글
| [Django] 파일 업로드 (0) | 2023.04.27 |
|---|---|
| [Django] 회원탈퇴 (0) | 2023.04.27 |
| [Django] main페이지 생성 (0) | 2023.04.27 |
| [Django] 이미지 연동 (0) | 2023.04.27 |
| [Django] 로그인 오류 시 알람 처리 (0) | 2023.04.27 |