закончена форма и функция регистрации
This commit is contained in:
parent
c50e38fde3
commit
d1a6c3d2d8
BIN
db/moona_data.db
BIN
db/moona_data.db
Binary file not shown.
@ -1,4 +1,5 @@
|
|||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
|
from flask_wtf.file import FileAllowed
|
||||||
from wtforms import EmailField, StringField, PasswordField, SubmitField, FileField, IntegerField, TextAreaField
|
from wtforms import EmailField, StringField, PasswordField, SubmitField, FileField, IntegerField, TextAreaField
|
||||||
from wtforms.validators import DataRequired
|
from wtforms.validators import DataRequired
|
||||||
|
|
||||||
@ -10,7 +11,7 @@ class RegisterForm(FlaskForm):
|
|||||||
login = StringField('Логин', validators=[DataRequired()])
|
login = StringField('Логин', validators=[DataRequired()])
|
||||||
age = IntegerField('Age', validators=[DataRequired()])
|
age = IntegerField('Age', validators=[DataRequired()])
|
||||||
about = TextAreaField('Расскажите о себе', default='')
|
about = TextAreaField('Расскажите о себе', default='')
|
||||||
photo = FileField('Фото')
|
photo = FileField('Фото', validators=[FileAllowed(['jpg', 'png'])])
|
||||||
password = PasswordField('Пароль', validators=[DataRequired()])
|
password = PasswordField('Пароль', validators=[DataRequired()])
|
||||||
password2 = PasswordField('Повторите пароль', validators=[DataRequired()])
|
password2 = PasswordField('Повторите пароль', validators=[DataRequired()])
|
||||||
submit = SubmitField('Регистрация')
|
submit = SubmitField('Регистрация')
|
||||||
|
|||||||
19
main.py
19
main.py
@ -1,9 +1,9 @@
|
|||||||
from random import randint
|
from random import randint
|
||||||
|
|
||||||
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 PIL import Image
|
||||||
from data import db_session
|
from data import db_session
|
||||||
from data.users import User
|
from data.users import User
|
||||||
from forms.register import RegisterForm, Confirmation
|
from forms.register import RegisterForm, Confirmation
|
||||||
@ -14,14 +14,13 @@ app.config['SECRET_KEY'] = 'moona_secret_key'
|
|||||||
help_arg = None
|
help_arg = None
|
||||||
send_msg = False
|
send_msg = False
|
||||||
secret_code = None
|
secret_code = None
|
||||||
|
photo = None
|
||||||
|
|
||||||
|
|
||||||
def save_photo(photo, login):
|
def save_photo(photo, login):
|
||||||
size = (250, 250)
|
with open(f'static/img/user_photo/{login}_logo.png', 'wb') as f:
|
||||||
im = Image.open(photo)
|
photo.save(f)
|
||||||
im.thumbnail(size)
|
return f'static/img/user_photo/{login}_logo.png'
|
||||||
im.save(f'static/img/user_photo/{login}.png')
|
|
||||||
return f'static/img/user_photo/{login}.png'
|
|
||||||
|
|
||||||
|
|
||||||
def secret_key():
|
def secret_key():
|
||||||
@ -38,6 +37,7 @@ def confirmation():
|
|||||||
global help_arg
|
global help_arg
|
||||||
global send_msg
|
global send_msg
|
||||||
global secret_code
|
global secret_code
|
||||||
|
global photo
|
||||||
form = help_arg
|
form = help_arg
|
||||||
session = db_session.create_session()
|
session = db_session.create_session()
|
||||||
conf = Confirmation()
|
conf = Confirmation()
|
||||||
@ -55,7 +55,7 @@ def confirmation():
|
|||||||
age=form.age.data,
|
age=form.age.data,
|
||||||
about=form.about.data,
|
about=form.about.data,
|
||||||
email=form.email.data,
|
email=form.email.data,
|
||||||
photo=save_photo(request.files['file'], form.login.data),
|
photo=photo,
|
||||||
role='user'
|
role='user'
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@ -82,6 +82,7 @@ def confirmation():
|
|||||||
@app.route('/register', methods=['GET', 'POST'])
|
@app.route('/register', methods=['GET', 'POST'])
|
||||||
def register():
|
def register():
|
||||||
global help_arg
|
global help_arg
|
||||||
|
global photo
|
||||||
form = RegisterForm()
|
form = RegisterForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
if form.password.data != form.password2.data:
|
if form.password.data != form.password2.data:
|
||||||
@ -94,6 +95,8 @@ def register():
|
|||||||
form=form,
|
form=form,
|
||||||
message="Такой пользователь уже есть")
|
message="Такой пользователь уже есть")
|
||||||
help_arg = form
|
help_arg = form
|
||||||
|
if form.photo.data:
|
||||||
|
photo = save_photo(form.photo.data, form.login.data)
|
||||||
return redirect('/confirmation')
|
return redirect('/confirmation')
|
||||||
return render_template('register.html', title='Регистрация', form=form, message='')
|
return render_template('register.html', title='Регистрация', form=form, message='')
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="divlog">
|
<div class="divlog">
|
||||||
<h1 class="title">Регистрация</h1>
|
<h1 class="title">Регистрация</h1>
|
||||||
<form action="" method="post">
|
<form action="" method="POST" enctype="multipart/form-data">
|
||||||
{{ form.hidden_tag() }}
|
{{ form.hidden_tag() }}
|
||||||
{{ form.csrf_token }}
|
{{ form.csrf_token }}
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user