Скриншот архива с проектом
Структура проекта
Задание
Разработать приложение средствами языка 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.
admin