Django - MySQL - 빅데이터 - 사용자 관련 연결 추가
회원가입
main.html 수정
{% if request.user.is_authenticated %}
<h3><a href="logout">({{user.username}})logout</a></h3>
{% else %}
<h3><a href="login_form">로그인</a></h3>
{% endif%}
- body에 추가해주기
views.py에 signup_form 추가
# 유저 회원가입 화면 열기
def signup_form(request):
return render(request, 'user/signup.html')
- def home을 최상단으로 올려주고나서 그 밑에 작성
urls.py에 signup_form 추가
path('', views.home),
path('signup_form/', views.signup_form),
- home을 admin 아래로 옮겨줌
- home 아래에 추가
views.py에 signup 추가
# 회원가입 처리
@csrf_exempt
def signup(request):
# POST 요청이 맞다면
if request.method == 'POST':
# password와 password2가 같다면
if request.POST['password'] == request.POST['password2']:
# 유저네임과 패스워드를 받아서
username = request.POST['username']
password = request.POST['password']
email = request.POST['email']
# user를 생성, User 객체는 장고가 기본적으로 가지고 있음
user = User.objects.create_user(username, email, password)
# 로그인 폼으로 이동
return redirect('/login_form/')
return render(request, 'user/signup.html')
- signup_form 아래에 작성
urls.py에 signup 추가
path('signup/', views.signup),
- signup_form 아래에 추가
signup.html 작성
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원가입</title>
</head>
<body>
<h1>Sign up!</h1>
<!-- form 태그 POST 방식으로 쓸거면 보안을 위해서 csrf_token을 써주는게 좋음 -->
<!-- 로그인과 같은 정보를 처리할때는 POST 방식으로 처리해줘야 한다. -->
<form method="POST" action="/signup/">
<!-- 보안을 위해서 써주는 나수 발생기, csrf 방해를 방어해주는 것 -->
{% csrf_token %}
Username :
<br><input name="username" type="text" value=""><br>
Password :
<br><input name="password" type="password" value=""><br>
Confirm Password :
<br><input name="password2" type="password" value=""><br>
Email :
<br><input name="email" type="text" value=""><br>
<br><input class="btn btn-primary" type="submit" value="signup">
</form>
</body>
</html>
로그인
views.py에 login_form 추가
# 로그인 화면 열기
def login_form(request):
return render(request, 'user/login.html')
- signup 아래에 작성
urls.py에 login_form 추가
path('login_form/', views.login_form),
- 아래에 signup 추가
views.py에 login 추가
# 로그인 처리
@csrf_exempt
def login(request):
# POST 요청이 맞다면
if request.method == 'POST':
# username과 password를 가져와서
username = request.POST['username']
password = request.POST['password']
# 등록된 사용자인지 확인함
user = auth.authenticate(request, username = username, password = password)
# user가 회원이라면
if user is not None:
# 로그인 시킴
auth.login(request, user)
return redirect('/')
else:
return render(request, 'user/login.html', {'error':'username or password is incorrect'})
else:
return render(request, 'user/login.html')
- login_form 아래에 작성
urls.py에 login 추가
path('login/', views.login),
- login_form 아래에 추가
login.html 작성
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body>
<h1>Login!</h1>
<!-- form 태그 POST 방식으로 쓸거면 보안을 위해서 csrf_token을 써주는게 좋음 -->
<!-- 회원가입과 같은 정보를 처리할때는 POST 방식으로 처리해줘야 한다. -->
<form method="POST" action="/login/" >
<!-- 보안을 위해서 써주는 나수 발생기, csrf 방해를 방어해주는 것 -->
{% csrf_token %}
Username :
<br><input name="username" type="text" value=""><br>
Password :
<br><input name="password" type="password" value=""><br>
<br><input class="btn btn-primary" type="submit" value="login">
<br><input class="btn btn-primary" type="button" value="signup" onclick="location.href='/signup_form'">
</form>
</body>
</html>
로그아웃
views.py에 logout 추가
# 로그아웃 처리
def logout(request):
# user가 로그인된 상태라면
if request.user.is_authenticated:
# 로그아웃 시킴
auth.logout(request)
return redirect('/')
return render(request, 'user/login.html')
- login 아래에 작성
urls.py에 logout 추가
path('logout/', views.logout),
- login 아래에 추가
결과
로그인을 안 할시 게시판 글쓰기 기능 사용 불가
- 가입하면 DB에 데이터 바로바로 저장됨
- 정상적으로 작동함
Author And Source
이 문제에 관하여(Django - MySQL - 빅데이터 - 사용자 관련 연결 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ruinak_4127/사용자-관련-연결
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{% if request.user.is_authenticated %}
<h3><a href="logout">({{user.username}})logout</a></h3>
{% else %}
<h3><a href="login_form">로그인</a></h3>
{% endif%}
# 유저 회원가입 화면 열기
def signup_form(request):
return render(request, 'user/signup.html')
path('', views.home),
path('signup_form/', views.signup_form),
# 회원가입 처리
@csrf_exempt
def signup(request):
# POST 요청이 맞다면
if request.method == 'POST':
# password와 password2가 같다면
if request.POST['password'] == request.POST['password2']:
# 유저네임과 패스워드를 받아서
username = request.POST['username']
password = request.POST['password']
email = request.POST['email']
# user를 생성, User 객체는 장고가 기본적으로 가지고 있음
user = User.objects.create_user(username, email, password)
# 로그인 폼으로 이동
return redirect('/login_form/')
return render(request, 'user/signup.html')
path('signup/', views.signup),
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원가입</title>
</head>
<body>
<h1>Sign up!</h1>
<!-- form 태그 POST 방식으로 쓸거면 보안을 위해서 csrf_token을 써주는게 좋음 -->
<!-- 로그인과 같은 정보를 처리할때는 POST 방식으로 처리해줘야 한다. -->
<form method="POST" action="/signup/">
<!-- 보안을 위해서 써주는 나수 발생기, csrf 방해를 방어해주는 것 -->
{% csrf_token %}
Username :
<br><input name="username" type="text" value=""><br>
Password :
<br><input name="password" type="password" value=""><br>
Confirm Password :
<br><input name="password2" type="password" value=""><br>
Email :
<br><input name="email" type="text" value=""><br>
<br><input class="btn btn-primary" type="submit" value="signup">
</form>
</body>
</html>
views.py에 login_form 추가
# 로그인 화면 열기
def login_form(request):
return render(request, 'user/login.html')
- signup 아래에 작성
urls.py에 login_form 추가
path('login_form/', views.login_form),
- 아래에 signup 추가
views.py에 login 추가
# 로그인 처리
@csrf_exempt
def login(request):
# POST 요청이 맞다면
if request.method == 'POST':
# username과 password를 가져와서
username = request.POST['username']
password = request.POST['password']
# 등록된 사용자인지 확인함
user = auth.authenticate(request, username = username, password = password)
# user가 회원이라면
if user is not None:
# 로그인 시킴
auth.login(request, user)
return redirect('/')
else:
return render(request, 'user/login.html', {'error':'username or password is incorrect'})
else:
return render(request, 'user/login.html')
- login_form 아래에 작성
urls.py에 login 추가
path('login/', views.login),
- login_form 아래에 추가
login.html 작성
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body>
<h1>Login!</h1>
<!-- form 태그 POST 방식으로 쓸거면 보안을 위해서 csrf_token을 써주는게 좋음 -->
<!-- 회원가입과 같은 정보를 처리할때는 POST 방식으로 처리해줘야 한다. -->
<form method="POST" action="/login/" >
<!-- 보안을 위해서 써주는 나수 발생기, csrf 방해를 방어해주는 것 -->
{% csrf_token %}
Username :
<br><input name="username" type="text" value=""><br>
Password :
<br><input name="password" type="password" value=""><br>
<br><input class="btn btn-primary" type="submit" value="login">
<br><input class="btn btn-primary" type="button" value="signup" onclick="location.href='/signup_form'">
</form>
</body>
</html>
로그아웃
views.py에 logout 추가
# 로그아웃 처리
def logout(request):
# user가 로그인된 상태라면
if request.user.is_authenticated:
# 로그아웃 시킴
auth.logout(request)
return redirect('/')
return render(request, 'user/login.html')
- login 아래에 작성
urls.py에 logout 추가
path('logout/', views.logout),
- login 아래에 추가
결과
로그인을 안 할시 게시판 글쓰기 기능 사용 불가
- 가입하면 DB에 데이터 바로바로 저장됨
- 정상적으로 작동함
Author And Source
이 문제에 관하여(Django - MySQL - 빅데이터 - 사용자 관련 연결 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ruinak_4127/사용자-관련-연결
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 로그아웃 처리
def logout(request):
# user가 로그인된 상태라면
if request.user.is_authenticated:
# 로그아웃 시킴
auth.logout(request)
return redirect('/')
return render(request, 'user/login.html')
path('logout/', views.logout),
로그인을 안 할시 게시판 글쓰기 기능 사용 불가
Author And Source
이 문제에 관하여(Django - MySQL - 빅데이터 - 사용자 관련 연결 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ruinak_4127/사용자-관련-연결저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)