파일 목록
-
📁 makenpz
-
📁 pip
-
📁 venv
- AIDB.png
- crossover_latent.npy
- requirements.txt
- test.py
- Title.png
from flask import render_template, request, redirect, url_for, flash
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, EmailField
from email_validator import validate_email, EmailNotValidError
import string
#아래는 이메일 패키지
import smtplib
from email.mime.text import MIMEText
class SignupForm(FlaskForm):
id = StringField('ID')
email = EmailField('Email')
password = PasswordField('Password')
name = StringField('Name')
postcode = StringField('Postcode')
address = StringField('Address')
detail_address = StringField('Detail Address')
submit = SubmitField('Sign Up')
def send_verification_email(email):
sender_email = "-@gmail.com"
sender_password = "-"
message = MIMEText("국제법보다 편리함이 우선인 정체불명의 사이트의 가입하신 것을 축하합니다.")
message["Subject"] = "회원가입을 축하합니다."
message["From"] = sender_email
message["To"] = email
with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
server.login(sender_email, sender_password)
server.sendmail(sender_email, email, message.as_string())
def signup_s(form, mydb):
if form.validate_on_submit():
id = form.id.data
email = form.email.data
postcode = form.postcode.data
address = form.address.data
detail_address = form.detail_address.data
# 주소 정보 조합
full_address = f"{postcode} {address} {detail_address}"
mycursor = mydb.cursor()
sql = "SELECT id FROM new_table WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result:
return render_template('signup.html', form=form, error="이미 사용 중인 ID입니다.")
try:
validate_email(email)
except EmailNotValidError as e:
return render_template('signup.html', form=form, error=str(e))
send_verification_email(email) # 축하 메일 전송
sql = "INSERT INTO new_table (id, E_mail, password, name, address) VALUES (%s, %s, %s, %s, %s)"
val = (id, email, form.password.data, form.name.data, full_address)
mycursor.execute(sql, val)
mydb.commit()
flash('회원가입이 완료되었습니다. 로그인해주세요.')
return redirect(url_for('index')) # 회원가입 후 index로 이동
return render_template('signup.html', form=form)