JIMINOTE

[Django] 로그인 Python, HTML, DB(SQLite) 본문

공부

[Django] 로그인 Python, HTML, DB(SQLite)

김짐인 2020. 8. 22. 15:14

 

 

1. templete/signin.html

 

{% extends 'base.html' %}
{% block content %}
<div class="jumbotron">
  <div class="container text-center">
    <form method="post" action="/signin/">
      {% csrf_token %}
      <div class="form-group">
        <label for="email">Email:</label>
        <input type="text" class="form-control" id="email" name="email">
      </div>
      <div class="form-group">
        <label for="pwd">Password:</label>
        <input type="password" class="form-control" id="pwd" name="pwd">
      </div>
      <button class="btn btn-primary btn-block" id="signin">Sign in</button>
    </form>
  </div>
</div>
{% endblock %}

실행화면

 

 

2. templete/signin_success.html (성공 시)

{% extends 'base.html' %}
{% block content %}
<div class="jumbotron">
  <div class="container text-center">
  	<h1>로그인되었습니다.</h1>
  </div>
</div>
{% endblock %}

 

3. templete/signin_fail.html (실패 시)

{% extends 'base.html' %}
{% block content %}
<div class="jumbotron">
  <div class="container text-center">
  	<h1>이메일과 비밀번호를 확인해주세요.</h1>
  </div>
</div>
{% endblock %}

 

4. board/view.py

def signin(request):
  if request.method == 'POST': # 회원정보 조회
    email = request.POST.get('email')
    pwd = request.POST.get('pwd')
    
    try: # select * from user where email=? and pwd=?
      user = User.objects.get(email=email, pwd=pwd)
      return render(request, 'signin_success.html')
    except:
    	return render(request, 'signin_fail.html')
        
  return render(request, 'signin.html')

 

5. board/urls.py

path('signin/', views.signin), #추가