start
This commit is contained in:
147
app/views.py
Normal file
147
app/views.py
Normal file
@@ -0,0 +1,147 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
#Активация FLASK
|
||||
from app import app #чтение из config.py, роуты
|
||||
from flask import render_template #использование шаблонов
|
||||
from flask import request # получение данных Cookie, GET и POST
|
||||
from flask import make_response #формирование заголовока, используется совместо с redirect
|
||||
from flask import redirect # Код страницы и перенаравление
|
||||
|
||||
from flask import Response
|
||||
|
||||
|
||||
#from flask-login import login_user, logout_user, current_user, login_required #авторизация
|
||||
#from .forms import LoginForm
|
||||
|
||||
|
||||
#import urllib.parse
|
||||
#import importlib.util
|
||||
import http.cookies #работа с кукисами
|
||||
import datetime #работа с датой
|
||||
import os #чтение куки и работа с файлами и папками
|
||||
import html #для функции Escape
|
||||
|
||||
#для мультипроцессинга
|
||||
import sys
|
||||
import subprocess
|
||||
import threading #потоки
|
||||
|
||||
#Сжатие данных для API
|
||||
import gzip
|
||||
|
||||
|
||||
#Глобальные переменные
|
||||
ProgName = app.config['PROGNAME']
|
||||
version = "0.0.1"
|
||||
|
||||
LevelA=""
|
||||
Flag=False
|
||||
FIO=""
|
||||
UserID=""
|
||||
tb_Hashpassword=""
|
||||
OldSession=""
|
||||
CurSessionID=""
|
||||
|
||||
|
||||
S=['0','1','2','3']
|
||||
|
||||
@app.errorhandler(413)
|
||||
def request_entity_too_large(error):
|
||||
return 'Превышен максимальный размер файла', 413
|
||||
|
||||
|
||||
|
||||
@app.errorhandler(404)
|
||||
def page_not_found(e):
|
||||
|
||||
return """Здесь нет того, чего ты ищешь... <br><a href ="/"> Вернутся на главную</a> """,404
|
||||
|
||||
@app.errorhandler(403)
|
||||
def access_denided(e):
|
||||
#Получаем куки и сессию
|
||||
|
||||
SessionID = request.cookies.get('SessionID')
|
||||
print (SessionID)
|
||||
|
||||
if SessionID is None or SessionID=="": #если нет сессии
|
||||
return redirect("/login", code=302)
|
||||
else:
|
||||
HTML= """Похоже, сюда можно только администраторам. <br><a href ="/"> Вернутся на главную</a> """
|
||||
return render_template('index.htm', UserHeader = APIC.UserHeader(SessionID,"<font color=red>Доступ запрещен</font>",ProgName), HTML=HTML)
|
||||
|
||||
#return render_template('404.html'), 404
|
||||
|
||||
|
||||
|
||||
#Добавляем роуты
|
||||
@app.route('/')
|
||||
@app.route('/index')
|
||||
@app.route('/about')
|
||||
@app.route('/main')
|
||||
def main():
|
||||
|
||||
Title="Обо мне"
|
||||
return render_template('about.htm',
|
||||
UserHeader = UserHeader(Title,ProgName)
|
||||
,version=version
|
||||
,Title=Title
|
||||
,ProgName=ProgName
|
||||
)
|
||||
|
||||
@app.route('/contact')
|
||||
@app.route('/contacts')
|
||||
def contacts():
|
||||
|
||||
Title="Контакты"
|
||||
return render_template('contacts.htm',
|
||||
UserHeader = UserHeader(Title,ProgName)
|
||||
,version=version
|
||||
,Title=Title
|
||||
,ProgName=ProgName
|
||||
)
|
||||
|
||||
|
||||
@app.route('/price')
|
||||
def price():
|
||||
|
||||
Title="Прайс"
|
||||
return render_template('price.htm',
|
||||
UserHeader = UserHeader(Title,ProgName)
|
||||
,version=version
|
||||
,Title=Title
|
||||
,ProgName=ProgName
|
||||
)
|
||||
|
||||
@app.route('/portfolio')
|
||||
def portfolio():
|
||||
|
||||
Title="Отзывы"
|
||||
return render_template('portfolio.htm',
|
||||
UserHeader = UserHeader(Title,ProgName)
|
||||
,version=version
|
||||
,Title=Title
|
||||
,ProgName=ProgName
|
||||
)
|
||||
|
||||
|
||||
def UserHeader(Title,ProgName):
|
||||
CurStr=""
|
||||
if (os.path.exists("app/templates/_header")==True):
|
||||
file = open("app/templates/_header", "r")
|
||||
#print ("Чтение заголовка")
|
||||
CurStr= file.read()
|
||||
file.close()
|
||||
#print (CurStr)
|
||||
CurStr=CurStr.replace("{{ProgName}}",ProgName)
|
||||
CurStr=CurStr.replace("{{Title}}",Title)
|
||||
|
||||
return CurStr
|
||||
|
||||
@app.route('/favicon.ico')
|
||||
def favicon1():
|
||||
if (os.path.exists("app/static/image/favicon.ico")==True):
|
||||
file = open("app/static/image/favicon.ico", "r")
|
||||
CurStr= file.read()
|
||||
file.close()
|
||||
return CurStr
|
||||
Reference in New Issue
Block a user