Скриншот архива с проектом


Структура проекта

Задание
Разработать приложение средствами языка Python и микро-фреймворка Flask для учета и возможной продажи автомобилей в автосалоне. Использовать именно Flask, а не Django. Основная задача заключается в закреплении навыков разработки веб-приложений на Python.
Функционал программы
- Добавление авто
- Редактирование авто
- Удаление авто
Фрагмент программного кода
from flask import Flask, render_template, url_for, request, redirect
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///cars.db'
db = SQLAlchemy(app)
class Car(db.Model):
id = db.Column(db.Integer, primary_key=True)
brand = db.Column(db.String(50), nullable=False)
model = db.Column(db.String(50), nullable=False)
year = db.Column(db.Integer, nullable=False)
color = db.Column(db.String(20), nullable=False)
def __repr__(self):
return f"Car {self.id}"
@app.route('/')
@app.route('/home')
def index():
return render_template("index.html")
@app.route('/create-car', methods=['POST', 'GET'])
def create_car():
if request.method == 'POST':
brand = request.form['brand']
model = request.form['model']
year = request.form['year']
color = request.form['color']
car = Car(brand=brand, model=model, year=year, color=color)
try:
db.session.add(car)
db.session.commit()
return redirect('/cars')
except:
return "При добавлении автомобиля произошла ошибка!!!"
else:
return render_template("create-car.html")
@app.route('/cars')
def cars():
cars = Car.query.order_by(Car.year).all()
return render_template("cars.html", cars=cars)
@app.route('/cars/<int:id>')
def car_detail(id):
car = Car.query.get(id)
return render_template("car-detail.html", car=car)
@app.route('/cars/<int:id>/delete')
def car_delete(id):
car = Car.query.get_or_404(id)
try:
db.session.delete(car)
db.session.commit()
return redirect('/cars')
except:
return "При удалении автомобиля произошла ошибка!!!"
@app.route('/cars/<int:id>/update', methods=['POST', 'GET'])
def car_update(id):
car = Car.query.get(id)
if request.method == 'POST':
car.brand = request.form['brand']
car.model = request.form['model']
car.year = request.form['year']
car.color = request.form['color']
try:
db.session.commit()
return redirect('/cars')
except:
return "При изменении автомобиля произошла ошибка!!!"
else:
return render_template("car-update.html", car=car)
@app.route('/about')
def about():
return render_template("about.html")
@app.route('/payment')
def payment():
return render_template("payment.html")
@app.route('/feedback')
def feedback():
return render_template("feedback.html")
if __name__ == "__main__":
with app.app_context():
db.create_all()
app.run(debug=True)
Пояснения по запуску программы
Приветствую! За раннее выражаю благодарность за покупку работы и подписку на мой YouTube-канал - https://www.youtube.com/channel/UC3XXxvCFq5i4laCmPE2zI9w
Для эффективной работы с приложением вам потребуется:
- редактор кода VS Code - скачать можно тут - https://code.visualstudio.com/download
- интерпретатор языка Python, скачать можно тут - https://www.python.org/downloads/ Однако скачивать версию 3.12 не советую, есть проблемы с установкой библиотек. Рнкомендуемая версия - 3.11.7.
- После установки всего выше описанного, настройте VS Code для работы с Python установив необходимые расширения (см. инструкцию - https://youtu.be/j5e5gwZgMH8) .
- Запускаете приложение и пользуетесь. Также вы можете самостоятельно выложить проект на Heroku.
Телеграм
-