Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 다항 논리 회귀
- ERD
- DRF
- 팀프로젝트 기획
- original set
- js
- 머신러닝
- test.py
- 이진 논리 회귀
- 비밀번호 수정
- Django
- 개인페이지
- docker
- json to db
- API명세
- 백엔드
- 댓글지우기
- CNN
- 북마크한 목록 가져오기
- 팔로우 기능 에러
- python to json
- 댓글쓰기
- 프로필사진 업로드
- 장고
- 딥러닝
- class view
- Python
- 프론트엔드
- 와이어프레임
- serializer
Archives
- Today
- Total
코딩 개발일지
TIL 16일차 - 장고 Admin과 로그인, 회원가입 페이지 본문
관리 페이지를 만들기위해서는 Django에서 제공하는 super user를 만들어야 admin(관리) 페이지에 접근 할 수 있음 !!!!!
터미널창에서 python manage.py createsuperuser 라고 타이핑해주면, 관리자 아이디를 만드는 과정이 나옴.
Username (leave blank to use 'home'):
Email address:
Password:
Password (again):
터미널에서 위에 정보를 입력하면, Admin계정(관리자 게정) 아이디가 생성됨.
GET과 POST를 이용해서 회원가입 / 로그인 페이지를 만들어 봤다.
GET은 대부분 '값을 읽어 올 때' 사용하고, POST는 값을 주고나 수정, 삭제를 요청 할 때 사용한다.
html의 form 태그에 method와 action을 추가한다. form태그의 method로 action에 데이터를 보내주는 역할을 한다. (중요)
{% csrf_token %} 은, Django에서 post 할 때에 보안을 위해서 사용 해 줘야 함.
앞으로 post 메서드를 만들 때 (보안이 중요할 때) 무조건적으로 쓰일 것 같음.
(아래는 templates > user . signup.html 또는 signin.html 중에서 form 부분)
<form class="form-area" method="post" action="/sign-up/">
{% csrf_token %}
html에서 넘겨준 데이터를 views.py에서 받아주고, 내용을 채운다!
(아래는 views.py)
from django.shortcuts import render, redirect
from .models import UserModel
from django.http import HttpResponse
# Create your views here.
def sign_up_view(request):
if request.method == 'GET':
return render(request, 'user/signup.html')
elif request.method == 'POST':
username = request.POST.get('username', None)
password = request.POST.get('password', None)
password2 = request.POST.get('password2', None)
bio = request.POST.get('bio', None)
if password != password2:
return render(request, 'user/signup.html')
else:
exist_user = UserModel.objects.filter(username=username)
if exist_user:
return render(request, 'user/signup.html')
else:
new_user = UserModel()
new_user.username = username
new_user.password = password
new_user.bio = bio
new_user.save()
return redirect('/sign-in')
def sign_in_view(request):
if request.method == 'POST':
username = request.POST.get('username', None)
password = request.POST.get('password', None)
me = UserModel.objects.get(username=username)
if me.password == password:
request.session['user'] = me.username
return HttpResponse(f'{me.username}님 로그인 성공')
else:
return redirect('/sign-in')
elif request.method == 'GET':
return render(request, 'user/signin.html')
중간에
exist_user = UserModel.objects.filter(username=username)
if exist_user:
return render(request, 'user/signup.html')
이 부분을 통해서 이미 아이디가 데이터베이스에 있을 경우에는 다시 signup 페이지로 돌아가도록 설정함.
'AI 본 교육 > AI 4주차' 카테고리의 다른 글
GIT 특강 + autosave 썰 / Django 기초 (0) | 2023.09.01 |
---|---|
TIL 15일차 - 제곱근 코드카타 풀이 + 장고강의 (0) | 2023.08.31 |
TIL 14일차 - 코드카타 시작 및 장고 강의 시작 (0) | 2023.08.29 |
TIL 13일차 - 파이썬 기본문법 160번~230번 (0) | 2023.08.28 |