188 lines
5.5 KiB
Python
188 lines
5.5 KiB
Python
from flask import Flask, render_template
|
||
from flask_sqlalchemy import SQLAlchemy
|
||
from datetime import datetime
|
||
|
||
|
||
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."""
|
||
"""another string"""
|
||
|
||
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_page", "active": "", "aria": ""},
|
||
{"name": "Программы 1С", "url": "one_c_page", "active": "", "aria": ""},
|
||
{"name": "Онлайн-кассы", "url": "kassa_page", "active": "", "aria": ""},
|
||
{"name": "Контакты", "url": "contacts_page", "active": "", "aria": ""}
|
||
]
|
||
|
||
|
||
@app.context_processor
|
||
def inject_now():
|
||
return {'now': datetime.utcnow()}
|
||
|
||
|
||
@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="Контакты")
|
||
|
||
|
||
@app.route("/1c/buhgalteria")
|
||
def buh_page():
|
||
"""Render buh page."""
|
||
for m in menu:
|
||
m['active'] = ''
|
||
m['aria'] = ''
|
||
|
||
menu[2]['active'] = 'active'
|
||
menu[2]['aria'] = 'page'
|
||
return render_template("buh.html", menu=menu, title="Программный продукт «1С:Бухгалтерия 8» для автоматизации бухгалтерского и налогового учета в Клину")
|
||
|
||
|
||
@app.route("/1c/zup")
|
||
def zup_page():
|
||
"""Render zup page."""
|
||
for m in menu:
|
||
m['active'] = ''
|
||
m['aria'] = ''
|
||
|
||
menu[2]['active'] = 'active'
|
||
menu[2]['aria'] = 'page'
|
||
return render_template("zup.html", menu=menu, title="Программный продукт 1С:Зарплата и управление персоналом в Клину")
|
||
|
||
|
||
@app.route("/1c/ut")
|
||
def ut_page():
|
||
"""Render ut page."""
|
||
for m in menu:
|
||
m['active'] = ''
|
||
m['aria'] = ''
|
||
|
||
menu[2]['active'] = 'active'
|
||
menu[2]['aria'] = 'page'
|
||
return render_template("ut.html", menu=menu, title="Программный продукт 1С:Управление торговлей в Клину")
|
||
|
||
|
||
@app.route("/1c/roznitsa")
|
||
def rozn_page():
|
||
"""Render rozn page."""
|
||
for m in menu:
|
||
m['active'] = ''
|
||
m['aria'] = ''
|
||
|
||
menu[2]['active'] = 'active'
|
||
menu[2]['aria'] = 'page'
|
||
return render_template("rozn.html", menu=menu, title="Программный продукт 1С: Розница в Клину")
|
||
|
||
|
||
@app.route("/1c/fresh")
|
||
def fresh_page():
|
||
"""Render fresh page."""
|
||
for m in menu:
|
||
m['active'] = ''
|
||
m['aria'] = ''
|
||
|
||
menu[2]['active'] = 'active'
|
||
menu[2]['aria'] = 'page'
|
||
return render_template("fresh.html", menu=menu, title="Программный продукт 1C: ФРЕШ в Клину")
|
||
|
||
|
||
@app.route("/1c/its")
|
||
def its_page():
|
||
"""Render its page."""
|
||
for m in menu:
|
||
m['active'] = ''
|
||
m['aria'] = ''
|
||
|
||
menu[2]['active'] = 'active'
|
||
menu[2]['aria'] = 'page'
|
||
return render_template("its.html", menu=menu, title="Программный продукт 1C: ИТС (КП) в Клину")
|
||
|
||
|
||
if __name__ == '__main__':
|
||
app.run(host='0.0.0.0', debug=True)
|