klintorg_site/__init__.py
2021-11-05 09:12:38 +03:00

109 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__, static_folder='static', static_url_path='')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///product.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Product(db.Model):
"""Class for products."""
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(length=50), nullable=False, unique=True)
description = db.Column(db.String(), nullable=False)
price = db.Column(db.String(length=10), nullable=False)
img = db.Column(db.String(length=50), nullable=False)
alt = db.Column(db.String(length=50), nullable=False)
group = db.Column(db.String(length=25), nullable=False)
menu = [
{"name": "Главная", "url": "home", "active": "", "aria": ""},
{"name": "ЭЦП + Отчетность", "url": "astral", "active": "", "aria": ""},
{"name": "Программы 1С", "url": "1c", "active": "", "aria": ""},
{"name": "Онлайн-кассы", "url": "online-kassa", "active": "", "aria": ""},
{"name": "Контакты", "url": "contacts", "active": "", "aria": ""}
]
@app.route("/")
@app.route("/home")
def home():
"""Render home page."""
for m in menu:
m["active"] = ""
m['aria'] = ''
menu[0]['active'] = 'active'
menu[0]['aria'] = 'page'
return render_template("home.html", menu=menu,
title="ЭЦП, Программы 1С, Онлайн-кассы в Клину")
@app.route("/astral")
def astral_page():
"""Render astral page."""
for m in menu:
m['active'] = ''
m['aria'] = ''
menu[1]['active'] = 'active'
menu[1]['aria'] = 'page'
product_astral = Product.query.filter_by(group="astral")
return render_template("astral.html", menu=menu, product=product_astral,
title="ЭЦП в Клину")
@app.route("/1c")
def one_c_page():
"""Render 1c page."""
for m in menu:
m['active'] = ''
m['aria'] = ''
menu[2]['active'] = 'active'
menu[2]['aria'] = 'page'
product_1c = Product.query.filter(Product
.group.in_(["buh", "cloud", "trade"]))
return render_template("1c.html", menu=menu,
title="программы 1С в Клину", product_1c=product_1c)
@app.route("/online-kassa")
def kassa_page():
"""Render kassa page."""
for m in menu:
m['active'] = ''
m['aria'] = ''
menu[3]['active'] = 'active'
menu[3]['aria'] = 'page'
product_kkt = Product.query.filter_by(group="kkt")
product_fn = Product.query.filter_by(group="fn")
return render_template("online-kassa.html", menu=menu,
title="Онлайн кассы в Клину",
product_kkt=product_kkt, product_fn=product_fn)
@app.route("/contacts")
def contacts_page():
"""Render contact page."""
for m in menu:
m['active'] = ''
m['aria'] = ''
menu[4]['active'] = 'active'
menu[4]['aria'] = 'page'
return render_template("contacts.html", menu=menu, title="Контакты")
if __name__ == '__main__':
app.run(debug=True)