로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

Flask를 사용하여 간단한 로그인 페이지

lmkfox · 2025-05-10 · 조회 0
Flask를 사용하여 간단한 로그인 페이지
1. 프로젝트 구조 flask_login_app/ │ ├── app.py ├── templates/ │ ├── login.html │ └── home.html └── static/ (선택, CSS/이미지 보관용)  2. Flask 앱 기본 코드 ( app.py ) from flask import Flask, render_template, request, redirect, url_for, session app = Flask(__name__) app.secret_key = 'your_secret_key' # 세션을 위한 키 설정 # 임시 사용자 데이터 (실제로는 DB 사용) USER = { "username": "admin", "password": "1234" } @app.route('/') def home(): if 'username' in session: return render_template('home.html', username=session['username']) return redirect(url_for('login')) @app.route('/login', methods=['GET', 'POST']) def login(): error = None if request.method == 'POST': input_username = request.form['username'] input_password = request.form['password'] if input_username == USER['username'] and input_password == USER['password']: session['username'] = input_username return redirect(url_for('home')) else: error = '아이디 또는 비밀번호가 일치하지 않습니다.' return render_template('login.html', error=error) @app.route('/logout') def logout(): session.pop('username', None) return redirect(url_for('login')) if __name__ == '__main__': app.run(debug=True)  3. HTML 템플릿 templates/login.html <!doctype html> <html> <head> <title>로그인</title> </head> <body> <h2>로그인 페이지</h2> {% if error %} <p style="color:red;">{{ error }}</p> {% endif %} <form method="post"> <label>아이디:</label> <input type="text" name="username" required><br><br> <label>비밀번호:</label> <input type="password" name="password" required><br><br> <button type="submit">로그인</button> </form> </body> </html> templates/home.html <!doctype html> <html> <head> <title>홈</title> </head> <body> <h2>환영합니다, {{ username }}님!</h2> <p><a href="{{ url_for('logout') }}">로그아웃</a></p> </body> </html>  4. 실행 방법 터미널에서 다음 명령어를 입력합니다: python app.py 그리고 브라우저에서 http://localhost:5000/login으로 접속하세요. 아이디: admin, 비밀번호: 1234로 로그인할 수 있습니다. 보안 팁 (실제 서비스 적용 시) - 비밀번호는 반드시 해시 처리 (bcrypt, werkzeug.security) 하세요. - Flask-Login, Flask-WTF 등을 사용해 더 안전하고 구조화된 인증 시스템 구축 가능. - CSRF 보호, 세션 만료, HTTPS 적용도 고려해야 합니다. 필요하시면 Flask-Login을 활용한 보다 안전한 로그인 시스템도 예제로 드릴 수 있어요. 원하시나요?

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.