백엔드코드 -> 서버
프론트에드코드 -> 클라이언트(웹브라우저)
<form>
{% csrf_token %} #이게 있으면 서버가 먼저 실행 후 클라로 넘겨줌
<input type="text">
</form>
-> 이건 백엔드코드(서버가 실행한다.)
<form>
<input type="hidden" value="asjfakldsjfasdkfsldf">
<input type="text">
</form>
alert는 자바스크립트 문법이며 실제로도 "웹브라우저"에 무언가 경고창을 띄우기 위한 용도다.
그런데 자바스크립트는 프론트엔드잖아 그리고 웹브라우저가 경고창을 띄운다는거는 이미 웹브라우저 입장에서는 서버가 다 실행을 완료한 코드를 받은거잖아 그러면 서버 이후에나 실행될 무언가를 하고 싶기 때문에 alert를 쓰는거잖아 그런데 views.py는 서버 단계에서 하는 작업이잖아
{%if%}
{%endif%}
def logged( req ) :
logged_member = User.objects.filter(userid=req.POST.get('id'), password=req.POST.get('pwd')) #필터링
if logged_member :
print("로그인 성공")
return render( req, 'logged.html', { 'total_member': logged_member } )
else :
print("로그인 실패")
#logge.html
<body>
{{ total_member.userid }} //지금 로그인한거 유저 아이디가 찍힘
</body>
[0:5] -> 첫번째부터 다섯번째까지
UPDATE문
:변경할 것을 변형한 후에 .save()
member = Member(userid='아이디',pw='1234')
member.save()
member = Member.objects.filter(userid='아이디')
print(member.userid) haha
print(member.username) 홍길동
member.username = '성춘향'
member.save()
#비밀번호 변경
member = Member.objects.filter(userid='아이디')
member.password = '1234'
member.save()
#계정 삭제
member = Member.objects.filter(userid='아이디')
member.delete()
//how to remove multiple objects in django
https://stackoverflow.com/questions/9143262/delete-multiple-objects-in-django
delete()문과 save()문은 앞이 오브젝트여야한다. -> 하나만 있어야한다.
pk > primary key의 약자, 한글로는 기본키
하나의 레코드를 다른 레코드와 구별하기 위한 "고유값" -> 연속적인 숫자로 하는 것이 일반적임
데이터베이스에서 CRUD를 처리할때 내부적으로 PK를 이용해서 많은 것을 한다.
"테이블 설계 할 때 기본키를 잡기 위한 행을 따로 둬요"
get -> single unique object
filter -> all objects -> Queryset -> for문을 사용
change_member = User.objects.get(userid=req.POST.get('id'), password=req.POST.get('pwd'))
change_member.password = req.POST.get('re_pwd')
change_member.save()
<form action="http://27.96.135.73:8000/yookeunbyul/login" method="post">
{% csrf_token %}
<div class="input-group flex-nowrap mt-5">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">변경할 비밀번호</span>
</div>
<input type="text" class="form-control" placeholder="password" name='re_pwd'>
</div>
<button type="submit" class="btn btn-primary my-3">비밀번호 변경</button>
</form>
#비밀번호 변경
def chapwd( req ) :
return render ( req, 'chapwd.html' )
def changed ( req ) :
change_member = User.objects.get(userid=req.POST.get('id'), password=req.POST.get('pwd'))
change_member.password = req.POST.get('re_pwd')
change_member.save()
if change_member :
print("변경 성공")
return render( req, 'login.html' )
else :
print("변경 실패")
return render( req, 'login.html' )
#계정탈퇴
def delid ( req ) :
return render ( req, 'del.html' )
def deleted ( req ) :
del_member = User.objects.get(userid=req.POST.get('id'), password=req.POST.get('pwd'))
del_member.delete()
if del_member :
print("삭제 성공")
return render( req, 'login.html' )
else :
print("삭제 실패")
return render( req, 'login.html' )