Заменил параметр age на дату рождения, и в базе данных и в формах
This commit is contained in:
parent
fb555005e8
commit
d37496bdbf
@ -25,6 +25,7 @@ class User(SqlAlchemyBase, UserMixin):
|
|||||||
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)
|
||||||
|
birthday = sqlalchemy.Column(sqlalchemy.Date, nullable=True)
|
||||||
|
|
||||||
def check_password(self, password):
|
def check_password(self, password):
|
||||||
return check_password_hash(self.password, password)
|
return check_password_hash(self.password, password)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
from flask_wtf.file import FileAllowed
|
from flask_wtf.file import FileAllowed
|
||||||
from wtforms import EmailField, StringField, PasswordField, SubmitField, FileField, IntegerField, TextAreaField
|
from wtforms import EmailField, StringField, PasswordField, SubmitField, FileField, DateField, TextAreaField
|
||||||
from wtforms.validators import DataRequired
|
from wtforms.validators import DataRequired
|
||||||
|
|
||||||
|
|
||||||
@ -9,7 +9,7 @@ class RegisterForm(FlaskForm):
|
|||||||
name = StringField('Имя', validators=[DataRequired()])
|
name = StringField('Имя', validators=[DataRequired()])
|
||||||
surname = StringField('Фамилия', validators=[DataRequired()])
|
surname = StringField('Фамилия', validators=[DataRequired()])
|
||||||
login = StringField('Логин', validators=[DataRequired()])
|
login = StringField('Логин', validators=[DataRequired()])
|
||||||
age = IntegerField('Возраст')
|
birthday = DateField('Дата рождения', validators=[DataRequired()])
|
||||||
about = TextAreaField('Расскажите о себе', default='')
|
about = TextAreaField('Расскажите о себе', default='')
|
||||||
photo = FileField('Фото', validators=[FileAllowed(['jpg', 'png'], 'Images only!')])
|
photo = FileField('Фото', validators=[FileAllowed(['jpg', 'png'], 'Images only!')])
|
||||||
password = PasswordField('Пароль', validators=[DataRequired()])
|
password = PasswordField('Пароль', validators=[DataRequired()])
|
||||||
|
|||||||
24
main.log
24
main.log
@ -1,24 +0,0 @@
|
|||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 2
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
WARNING:waitress.queue:Task queue depth is 1
|
|
||||||
18
main.py
18
main.py
@ -124,7 +124,7 @@ def register():
|
|||||||
session['ps'] = form.password.data
|
session['ps'] = form.password.data
|
||||||
return redirect(
|
return redirect(
|
||||||
url_for('confirmation', photo=photo, name=form.name.data, surname=form.surname.data, login=form.login.data,
|
url_for('confirmation', photo=photo, name=form.name.data, surname=form.surname.data, login=form.login.data,
|
||||||
age=form.age.data, about=form.about.data, email=form.email.data, form=True))
|
birthday=form.birthday.data, about=form.about.data, email=form.email.data, form=True))
|
||||||
return render_template('main/register.html', title='Регистрация', form=form, message='')
|
return render_template('main/register.html', title='Регистрация', form=form, message='')
|
||||||
|
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ def confirmation():
|
|||||||
name=request.args.get('name'),
|
name=request.args.get('name'),
|
||||||
surname=request.args.get('surname'),
|
surname=request.args.get('surname'),
|
||||||
login=request.args.get('login'),
|
login=request.args.get('login'),
|
||||||
age=request.args.get('age'),
|
birthday=request.args.get('age'),
|
||||||
about=request.args.get('about'),
|
about=request.args.get('about'),
|
||||||
email=request.args.get('email'),
|
email=request.args.get('email'),
|
||||||
password=session['ps']
|
password=session['ps']
|
||||||
@ -168,7 +168,7 @@ def confirmation():
|
|||||||
name=form.name.data,
|
name=form.name.data,
|
||||||
surname=form.surname.data,
|
surname=form.surname.data,
|
||||||
login=form.login.data,
|
login=form.login.data,
|
||||||
age=form.age.data,
|
birthday=form.birthday.data,
|
||||||
about=form.about.data,
|
about=form.about.data,
|
||||||
email=form.email.data,
|
email=form.email.data,
|
||||||
photo=session['photo'],
|
photo=session['photo'],
|
||||||
@ -179,7 +179,7 @@ def confirmation():
|
|||||||
name=form.name.data,
|
name=form.name.data,
|
||||||
surname=form.surname.data,
|
surname=form.surname.data,
|
||||||
login=form.login.data,
|
login=form.login.data,
|
||||||
age=form.age.data,
|
birthday=form.birthday.data,
|
||||||
about=form.about.data,
|
about=form.about.data,
|
||||||
email=form.email.data,
|
email=form.email.data,
|
||||||
role='user',
|
role='user',
|
||||||
@ -281,7 +281,7 @@ def safe_app_school_register():
|
|||||||
return redirect(
|
return redirect(
|
||||||
url_for('confirmation', photo=photo, name=form.name.data, surname=form.surname.data,
|
url_for('confirmation', photo=photo, name=form.name.data, surname=form.surname.data,
|
||||||
login=form.login.data,
|
login=form.login.data,
|
||||||
age=form.age.data, about=form.about.data, email=form.email.data, form=True, app_school=True))
|
birthday=form.birthday.data, about=form.about.data, email=form.email.data, form=True, app_school=True))
|
||||||
return render_template('safe_app_school/register.html', title='Регистрация', form=form, message='')
|
return render_template('safe_app_school/register.html', title='Регистрация', form=form, message='')
|
||||||
|
|
||||||
|
|
||||||
@ -398,7 +398,7 @@ def edit_profile(logins):
|
|||||||
return redirect('/diary/confirmation')
|
return redirect('/diary/confirmation')
|
||||||
user.name = form.name.data
|
user.name = form.name.data
|
||||||
user.surname = form.surname.data
|
user.surname = form.surname.data
|
||||||
user.age = form.age.data
|
user.birthday = form.birthday.data
|
||||||
user.about = form.about.data
|
user.about = form.about.data
|
||||||
if not ph_f and form.photo.data:
|
if not ph_f and form.photo.data:
|
||||||
photo = save_photo(form.photo.data, logins)
|
photo = save_photo(form.photo.data, logins)
|
||||||
@ -420,7 +420,7 @@ def edit_profile(logins):
|
|||||||
form.name.data = current_user.name
|
form.name.data = current_user.name
|
||||||
form.surname.data = current_user.surname
|
form.surname.data = current_user.surname
|
||||||
form.login.data = logins
|
form.login.data = logins
|
||||||
form.age.data = current_user.age
|
form.birthday.data = current_user.birthday
|
||||||
form.about.data = current_user.about
|
form.about.data = current_user.about
|
||||||
form.password.data = None
|
form.password.data = None
|
||||||
form.password2.data = None
|
form.password2.data = None
|
||||||
@ -963,7 +963,7 @@ def diary_onfirmation():
|
|||||||
name=form.name.data,
|
name=form.name.data,
|
||||||
surname=form.surname.data,
|
surname=form.surname.data,
|
||||||
login=form.login.data,
|
login=form.login.data,
|
||||||
age=form.age.data,
|
birthday=form.birthday.data,
|
||||||
about=form.about.data,
|
about=form.about.data,
|
||||||
email=form.email.data,
|
email=form.email.data,
|
||||||
photo=photo,
|
photo=photo,
|
||||||
@ -974,7 +974,7 @@ def diary_onfirmation():
|
|||||||
name=form.name.data,
|
name=form.name.data,
|
||||||
surname=form.surname.data,
|
surname=form.surname.data,
|
||||||
login=form.login.data,
|
login=form.login.data,
|
||||||
age=form.age.data,
|
birthday=form.birthday.data,
|
||||||
about=form.about.data,
|
about=form.about.data,
|
||||||
email=form.email.data,
|
email=form.email.data,
|
||||||
role='user',
|
role='user',
|
||||||
|
|||||||
@ -34,14 +34,14 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.age.label }}</label>
|
<label class="form-label">{{ form.birthday.label }}</label>
|
||||||
{{ form.age(class="form-control", type="number") }}
|
{{ form.birthday(class="form-control", type="date") }}
|
||||||
{% for error in form.age.errors %}
|
{% for error in form.birthday.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<label class="form-label">{{ form.about.label }}</label>
|
<label class="form-label">{{ form.about.label }}</label>
|
||||||
|
|||||||
@ -33,6 +33,15 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label class="form-label">{{ form.birthday.label }}</label>
|
||||||
|
{{ form.birthday(class="form-control", type="date") }}
|
||||||
|
{% for error in form.birthday.errors %}
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ error }}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.password.label }}</label>
|
<label class="form-label">{{ form.password.label }}</label>
|
||||||
{{ form.password(class="form-control", type="password") }}
|
{{ form.password(class="form-control", type="password") }}
|
||||||
@ -60,15 +69,6 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
|
||||||
<label class="form-label">{{ form.age.label }}</label>
|
|
||||||
{{ form.age(class="form-control", type="number") }}
|
|
||||||
{% for error in form.age.errors %}
|
|
||||||
<div class="alert alert-danger" role="alert">
|
|
||||||
{{ error }}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<label class="form-label">{{ form.about.label }}</label>
|
<label class="form-label">{{ form.about.label }}</label>
|
||||||
{{ form.about(class="form-control", type="textarea") }}
|
{{ form.about(class="form-control", type="textarea") }}
|
||||||
|
|||||||
@ -38,6 +38,15 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label class="form-label">{{ form.birthday.label }}</label>
|
||||||
|
{{ form.birthday(class="form-control", type="date") }}
|
||||||
|
{% for error in form.birthday.errors %}
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ error }}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label class="form-label">{{ form.password.label }}</label>
|
<label class="form-label">{{ form.password.label }}</label>
|
||||||
{{ form.password(class="form-control", type="password") }}
|
{{ form.password(class="form-control", type="password") }}
|
||||||
|
|||||||
@ -13,56 +13,65 @@
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">{{ form.name.label }}</label>
|
<label class="form-label">{{ form.name.label }}</label>
|
||||||
{{ form.name(class="form-control", type="text") }}
|
{{ form.name(class="form-control", type="text") }}
|
||||||
{% for error in form.name.errors %}
|
{% for error in form.name.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">{{ form.surname.label }}</label>
|
<label class="form-label">{{ form.surname.label }}</label>
|
||||||
{{ form.surname(class="form-control", type="text") }}
|
{{ form.surname(class="form-control", type="text") }}
|
||||||
{% for error in form.surname.errors %}
|
{% for error in form.surname.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.email.label }}</label>
|
<label class="form-label">{{ form.email.label }}</label>
|
||||||
{{ form.email(class="form-control", type="email") }}
|
{{ form.email(class="form-control", type="email") }}
|
||||||
{% for error in form.email.errors %}
|
{% for error in form.email.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label class="form-label">{{ form.birthday.label }}</label>
|
||||||
|
{{ form.birthday(class="form-control", type="date") }}
|
||||||
|
{% for error in form.birthday.errors %}
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ error }}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.password.label }}</label>
|
<label class="form-label">{{ form.password.label }}</label>
|
||||||
{{ form.password(class="form-control", type="password") }}
|
{{ form.password(class="form-control", type="password") }}
|
||||||
{% for error in form.password.errors %}
|
{% for error in form.password.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.password2.label }}</label>
|
<label class="form-label">{{ form.password2.label }}</label>
|
||||||
{{ form.password2(class="form-control", type="password") }}
|
{{ form.password2(class="form-control", type="password") }}
|
||||||
{% for error in form.password2.errors %}
|
{% for error in form.password2.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">{{ form.login.label }}</label>
|
<label class="form-label">{{ form.login.label }}</label>
|
||||||
{{ form.login(class="form-control", type="text") }}
|
{{ form.login(class="form-control", type="text") }}
|
||||||
{% for error in form.login.errors %}
|
{% for error in form.login.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="but">
|
<div class="but">
|
||||||
<p>{{ form.submit(type="submit", class="btn btn-primary", style="background-color:#38aaff") }}</p>
|
<p>{{ form.submit(type="submit", class="btn btn-primary", style="background-color:#38aaff") }}</p>
|
||||||
|
|||||||
@ -21,56 +21,65 @@
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">{{ form.name.label }}</label>
|
<label class="form-label">{{ form.name.label }}</label>
|
||||||
{{ form.name(class="form-control", type="text") }}
|
{{ form.name(class="form-control", type="text") }}
|
||||||
{% for error in form.name.errors %}
|
{% for error in form.name.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">{{ form.surname.label }}</label>
|
<label class="form-label">{{ form.surname.label }}</label>
|
||||||
{{ form.surname(class="form-control", type="text") }}
|
{{ form.surname(class="form-control", type="text") }}
|
||||||
{% for error in form.surname.errors %}
|
{% for error in form.surname.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.email.label }}</label>
|
<label class="form-label">{{ form.email.label }}</label>
|
||||||
{{ form.email(class="form-control", type="email") }}
|
{{ form.email(class="form-control", type="email") }}
|
||||||
{% for error in form.email.errors %}
|
{% for error in form.email.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label class="form-label">{{ form.birthday.label }}</label>
|
||||||
|
{{ form.birthday(class="form-control", type="date") }}
|
||||||
|
{% for error in form.birthday.errors %}
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
{{ error }}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.password.label }}</label>
|
<label class="form-label">{{ form.password.label }}</label>
|
||||||
{{ form.password(class="form-control", type="password") }}
|
{{ form.password(class="form-control", type="password") }}
|
||||||
{% for error in form.password.errors %}
|
{% for error in form.password.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label">{{ form.password2.label }}</label>
|
<label class="form-label">{{ form.password2.label }}</label>
|
||||||
{{ form.password2(class="form-control", type="password") }}
|
{{ form.password2(class="form-control", type="password") }}
|
||||||
{% for error in form.password2.errors %}
|
{% for error in form.password2.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">{{ form.login.label }}</label>
|
<label class="form-label">{{ form.login.label }}</label>
|
||||||
{{ form.login(class="form-control", type="text") }}
|
{{ form.login(class="form-control", type="text") }}
|
||||||
{% for error in form.login.errors %}
|
{% for error in form.login.errors %}
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="but">
|
<div class="but">
|
||||||
<p>{{ form.submit(type="submit", class="btn btn-primary", style="background-color:#38aaff") }}</p>
|
<p>{{ form.submit(type="submit", class="btn btn-primary", style="background-color:#38aaff") }}</p>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user