Скриншот архива с проектом
Задание
Разработать с помощью языка Python и микрофреймворка Flask веб-приложение "Учёт нарушений ПДД", которое предоставляет возможности пользователю просматривать список нарушений, добавлять нарушения, удалять нарушения, редактировать нарушения, подробнее смотреть о каждом нарушении, регистрироваться пользователю и входить пользователю в систему.
Функционал программы
Например:
- Добавление новых нарушений
- Просмотр подробной информации о нарушениях
- Редактирование нарушений
- Удаление нарушений
- Регистрация и авторизация
Фрагмент программного кода
from email_validator import validate_email, EmailNotValidError from flask_wtf import FlaskForm from wtforms import StringField, DateField, TextAreaField, FloatField, PasswordField, SubmitField from wtforms.fields.numeric import IntegerField from wtforms.validators import DataRequired, EqualTo, ValidationError class ViolationForm(FlaskForm): violator = StringField('Нарушитель', validators=[DataRequired()]) violation_type = StringField('Наименование', validators=[DataRequired()]) description = TextAreaField('Описание нарушения') quantity = IntegerField('Кол-во нарушений', validators=[DataRequired()]) violation_date = DateField('Дата нарушения', format='%Y-%m-%d', validators=[DataRequired()]) fine_amount = FloatField('Сумма штрафа', validators=[DataRequired()]) class RegistrationForm(FlaskForm): username = StringField('Username', validators=[DataRequired()]) email = StringField('Email', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) confirm_password = PasswordField('Confirm Password', validators=[DataRequired(), EqualTo('password')]) submit = SubmitField('Sign Up') def validate_email(self, email): try: # Валидация email valid_email = validate_email(email.data) email.data = valid_email['email'] # нормализованный адрес except EmailNotValidError as e: raise ValidationError(str(e)) class LoginForm(FlaskForm): email = StringField('Email', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('Login') def validate_email(self, email): try: # Валидация email valid_email = validate_email(email.data) email.data = valid_email['email'] # нормализованный адрес except EmailNotValidError as e: raise ValidationError(str(e))
Пояснения по запуску программы
- Скачать с официального сайта интерпретатор Python
- Скачать и установить среду разработки PyCharm и VS Code
- Распокавать архив проекта в любом удобном месте для вашего ПК
- Перейти в папку с проектом "Учёт нарушений ПДД"
- С помощью VS Code открыть папку с проектом ViolationsAccounting
- Запустить проект с помощью кнопки стрелочки в правом верхнем углу Run and Debug
- Дополнительно: в случае возникновения ошибок установить следующие библиотеки - Flask, FlaskSQLAlchemy, Flask-WTF, Flask-Bootstrap, Flask-Login, email-validator с помощью команды pip install.
platonlaptev