kootaeng2
Refactor:Loadmodel from Hugging Face Hub and remove local modelfiles
5883a42
# src/ auth.py
# ๊ธฐ์กด app.py์—์„œ auth์™€ ๊ด€๋ จํ•ด์„œ ๋ถ„๋ฆฌ
# ๋กœ๊ทธ์ธ์ด๋‚˜ ํšŒ์›๊ฐ€์ž… ์ธ์ฆ ๊ด€๋ จํ•œ ์Šคํฌ๋ฆฝํŠธ
from flask import Blueprint, render_template, request, redirect, url_for, session
from werkzeug.security import generate_password_hash, check_password_hash
from . import db
from .models import User
bp = Blueprint('auth', __name__, url_prefix='/auth')
# ํšŒ์›๊ฐ€์ž… ํŒŒํŠธ
@bp.route('/signup', methods=['GET', 'POST'])
def signup():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์‚ฌ์šฉ์ž์ธ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ™•์ธ
if User.query.filter_by(username=username).first():
# (๋‚˜์ค‘์—๋Š” ํ”Œ๋ž˜์‹œ ๋ฉ”์‹œ์ง€ ๋“ฑ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ)
return "์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์ž…๋‹ˆ๋‹ค."
# ์ƒˆ ์‚ฌ์šฉ์ž ์ƒ์„ฑ ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”
new_user = User(username=username)
new_user.set_password(password)
# ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ถ”๊ฐ€ ๋ฐ ์ €์žฅ
db.session.add(new_user)
db.session.commit()
# ํšŒ์›๊ฐ€์ž… ์„ฑ๊ณต ํ›„ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™
return redirect(url_for('auth.login'))
# GET ์š”์ฒญ ์‹œ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์คŒ
return render_template('signup.html')
# ๋กœ๊ทธ์ธ ํŒŒํŠธ
@bp.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ
user = User.query.filter_by(username=username).first()
# ์‚ฌ์šฉ์ž๊ฐ€ ์กด์žฌํ•˜๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธ
if user and user.check_password(password):
# ์„ธ์…˜์— ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ
session.clear()
session['user_id'] = user.id
session['username'] = user.username
# ๋กœ๊ทธ์ธ ์„ฑ๊ณต ํ›„ ๋ฉ”์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™
return redirect(url_for('main.home'))
else:
# (๋‚˜์ค‘์—๋Š” ํ”Œ๋ž˜์‹œ ๋ฉ”์‹œ์ง€ ๋“ฑ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ)
return "๋กœ๊ทธ์ธ ์ •๋ณด๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค."
# GET ์š”์ฒญ ์‹œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์คŒ
return render_template('login.html')
# ๋กœ๊ทธ์•„์›ƒ part
@bp.route('/logout')
def logout():
# ์„ธ์…˜์—์„œ ์‚ฌ์šฉ์ž ์ •๋ณด ์ œ๊ฑฐ
session.clear()
# ๋กœ๊ทธ์•„์›ƒ ํ›„ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™
return redirect(url_for('auth.login'))