Заменил параметр age на дату рождения, и в базе данных и в формах

This commit is contained in:
Andrei 2022-11-03 22:34:57 +05:00
parent fb555005e8
commit d37496bdbf
9 changed files with 114 additions and 110 deletions

View File

@ -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)

View File

@ -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()])

View File

@ -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
View File

@ -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',

View File

@ -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>

View File

@ -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") }}

View File

@ -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") }}

View File

@ -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>

View File

@ -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>