Доработана (почти) функция регистрации
This commit is contained in:
parent
6e8fc6eb43
commit
3f66e6476d
@ -1,5 +1,7 @@
|
|||||||
import sqlalchemy
|
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
|
import sqlalchemy
|
||||||
|
from werkzeug.security import check_password_hash, generate_password_hash
|
||||||
from .db_session import SqlAlchemyBase
|
from .db_session import SqlAlchemyBase
|
||||||
|
|
||||||
|
|
||||||
@ -20,4 +22,10 @@ class User(SqlAlchemyBase):
|
|||||||
data_reg = sqlalchemy.Column(sqlalchemy.Date,
|
data_reg = sqlalchemy.Column(sqlalchemy.Date,
|
||||||
default=date.today())
|
default=date.today())
|
||||||
role = sqlalchemy.Column(sqlalchemy.String, nullable=True)
|
role = sqlalchemy.Column(sqlalchemy.String, nullable=True)
|
||||||
activity = sqlalchemy.Column(sqlalchemy.Date, nullable=True)
|
activity = sqlalchemy.Column(sqlalchemy.Date, nullable=True)
|
||||||
|
|
||||||
|
def check_password(self, password):
|
||||||
|
return check_password_hash(self.hashed_password, password)
|
||||||
|
|
||||||
|
def set_password(self, password):
|
||||||
|
self.password = generate_password_hash(password)
|
||||||
|
|||||||
BIN
db/moona_data.db
BIN
db/moona_data.db
Binary file not shown.
44
main.py
44
main.py
@ -1,7 +1,7 @@
|
|||||||
from random import randint
|
from random import randint
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from flask import Flask, render_template
|
from flask import Flask, render_template, request
|
||||||
from werkzeug.utils import redirect
|
from werkzeug.utils import redirect
|
||||||
|
|
||||||
from data import db_session
|
from data import db_session
|
||||||
@ -12,6 +12,8 @@ from post import mail
|
|||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config['SECRET_KEY'] = 'moona_secret_key'
|
app.config['SECRET_KEY'] = 'moona_secret_key'
|
||||||
help_arg = None
|
help_arg = None
|
||||||
|
send_msg = False
|
||||||
|
secret_code = None
|
||||||
|
|
||||||
|
|
||||||
def save_photo(photo, login):
|
def save_photo(photo, login):
|
||||||
@ -34,27 +36,45 @@ def main_page():
|
|||||||
@app.route('/confirmation', methods=['GET', 'POST'])
|
@app.route('/confirmation', methods=['GET', 'POST'])
|
||||||
def confirmation():
|
def confirmation():
|
||||||
global help_arg
|
global help_arg
|
||||||
|
global send_msg
|
||||||
|
global secret_code
|
||||||
form = help_arg
|
form = help_arg
|
||||||
session = db_session.create_session()
|
session = db_session.create_session()
|
||||||
conf = Confirmation()
|
conf = Confirmation()
|
||||||
secret_code = secret_key()
|
if not send_msg:
|
||||||
mail(f'Ваш секретный код: {secret_code}', form.email.data, 'Moona Код')
|
secret_code = secret_key()
|
||||||
|
mail(f'Ваш секретный код: {secret_code}', form.email.data, 'Moona Код')
|
||||||
|
send_msg = True
|
||||||
if conf.validate_on_submit():
|
if conf.validate_on_submit():
|
||||||
if str(conf.code_key.data).strip() == str(secret_code).strip():
|
if str(conf.code_key.data).strip() == str(secret_code).strip():
|
||||||
user = User(
|
if form.photo.data:
|
||||||
name=form.name.data,
|
user = User(
|
||||||
surname=form.surname.data,
|
name=form.name.data,
|
||||||
login=form.login.data,
|
surname=form.surname.data,
|
||||||
age=form.age.data,
|
login=form.login.data,
|
||||||
about=form.about.data,
|
age=form.age.data,
|
||||||
photo=save_photo(form.photo.data, form.login.data)
|
about=form.about.data,
|
||||||
)
|
email=form.email.data,
|
||||||
|
photo=save_photo(request.files['file'], form.login.data),
|
||||||
|
role='user'
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
user = User(
|
||||||
|
name=form.name.data,
|
||||||
|
surname=form.surname.data,
|
||||||
|
login=form.login.data,
|
||||||
|
age=form.age.data,
|
||||||
|
about=form.about.data,
|
||||||
|
email=form.email.data,
|
||||||
|
role='user'
|
||||||
|
)
|
||||||
user.set_password(form.password.data)
|
user.set_password(form.password.data)
|
||||||
session.add(user)
|
session.add(user)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
send_msg = False
|
||||||
return redirect('/login')
|
return redirect('/login')
|
||||||
else:
|
else:
|
||||||
return render_template('confirmation_reg.html', title='Подтверждение', form=form,
|
return render_template('confirmation_reg.html', title='Подтверждение', form=conf,
|
||||||
message='Коды не совпадают')
|
message='Коды не совпадают')
|
||||||
return render_template('confirmation_reg.html', title='Подтверждение', form=conf)
|
return render_template('confirmation_reg.html', title='Подтверждение', form=conf)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user