-
Notifications
You must be signed in to change notification settings - Fork 2
/
application.py
48 lines (31 loc) · 1.68 KB
/
application.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# -*- coding: utf-8 -*-
from flask import Flask
from flask_peewee.db import Database
from flask_peewee.rest import RestAPI
from models import init_models
from services.pw_api import init_api
from ui.admin import init_admin
import local_settings
def create_app():
app = Flask(__name__) # Создаем экземпляр класса Flask-приложения
app.url_map.strict_slashes = local_settings.TRAILING_SLASH # Указываем игнорирововать слеша в конце url
app.config.from_object(local_settings) # Передаём остальные настройки в приложение
return app
APP = create_app() # Инициируем приложение
DB = Database(APP) # Инициируем работу с БД. Тут же создаюётся таблицы, если их нет в БД.
init_models(DB)
API = RestAPI(APP) # Инициируем RestAPI от peewee
init_api(API)
ADMIN = init_admin(APP, DB) # Инициируем Админку
import ui.root # Импортируем view для главной страницы
# Api на flask_restful и роуты для API
from flask_restful import Api
api = Api(APP)
from services.product import GetProducts, AddProduct, DeleteProduct, UpdateProduct
api.add_resource(GetProducts, '/product/get')
api.add_resource(AddProduct, '/product/add/<int:category_id>')
api.add_resource(DeleteProduct, '/product/delete/<int:product_id>')
api.add_resource(UpdateProduct, '/product/update/<int:product_id>')
from services.categories import AddCategory, GetCategories
api.add_resource(AddCategory, '/category/add/<string:category_name>')
api.add_resource(GetCategories, '/category/get')