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