본문 바로가기

Flask

[Flask] Log in 기능 만들기

로그인은 이메일주소와 비빌번호를 이용하기에 username, confirm password를 제거하여

register.html을 복사하여 붙여넣기 한다

 

remember me 폼도 추가

                <div class="form-check">
                    {{ form.remember(class="form-check-input")}}
                    {{ form.remember.label(class="form-check-label")}}
                </div>

 

계정이 없으면 새로 만들수 있게 리디렉션을 register.html로 변경해준다

    <div class="border-top pt-3">
        <small class="text-muted">
            Need An Account? <a class="ml-2" href="{{ url_for('register') }}">Sign Up Now</a>
        </small>

    </div>

 

login.html

{% extends "layout.html" %}
{% block content %}
    <div class="content-section">
        <form method="post" action="">
            {{ form.hidden_tag() }}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Log In</legend>
                <div class="form-group">
                    {{ form.email.label(class="form-control-label") }}
                    {{ form.email(class="form-control form-control-lg") }}
                </div>
                <div class="form-group">
                    {{ form.password.label(class="form-control-label") }}
                    {{ form.password(class="form-control form-control-lg") }}
                </div>
                <div class="form-check">
                    {{ form.remember(class="form-check-input")}}
                    {{ form.remember.label(class="form-check-label")}}
                </div>
            </fieldset>
            <div class="form-group">
                {{ form.submit(class="btn btn-outline-info")}}
            </div>
            <small class="tect-muted ml-2">
                <a href="#">Forgot Password</a>
            </small>
        </form>
    </div>
    <div class="border-top pt-3">
        <small class="text-muted">
            Need An Account? <a class="ml-2" href="{{ url_for('register') }}">Sign Up Now</a>
        </small>

    </div>
{% endblock content %}
 
 
 
네비게이션 링크들도 다 만들어졌기때문에 layout.html의 페이지 링크들을 url_for로 바꿔준다
                        <a class="nav-item nav-link" href="/">Home</a>
                        <a class="nav-item nav-link" href="/about">About</a>
                        <a class="nav-item nav-link" href="/login">Login</a>
                        <a class="nav-item nav-link" href="/register">Register</a>

=====>

                        <a class="nav-item nav-link" href="{{ url_for('home')}}">Home</a>
                        <a class="nav-item nav-link" href="{{ url_for('about')}}">About</a>
                        <a class="nav-item nav-link" href="{{ url_for('login')}}">Login</a>
                        <a class="nav-item nav-link" href="{{ url_for('register')}}">Register</a>