更新了新的视图

This commit is contained in:
MarkusJoe
2022-04-14 22:21:24 +08:00
parent 3cf3d03762
commit 81e90af094
11 files changed
+82 -27

No files matched your search

+6
View File
@@ -11,3 +11,9 @@ from flask import Blueprint
api = Blueprint('api', __name__) api = Blueprint('api', __name__)
from . import views, errors from . import views, errors
__all__ = [
'api',
'views',
'errors'
]
+11 -2
View File
@@ -119,11 +119,20 @@ def all_tables():
@api.route('/export/', methods=['GET', 'POST']) @api.route('/export/', methods=['GET', 'POST'])
@api.route('/export/<key>', methods=['GET', 'POST'])
@permission_required @permission_required
def export(key: str = None): def export():
""" """
导出数据库文件 导出数据库文件
:return: :return:
""" """
return send_file('./db/data.sqlite', as_attachment=True) return send_file('./db/data.sqlite', as_attachment=True)
@api.route('/test', methods=['GET', 'POST'])
def test_api():
"""
测试专用接口
:return:
"""
data = db().fetch('test-example')
return str(data[1])
+5
View File
@@ -141,6 +141,11 @@ class SQLite:
return [] return []
def exec(self, cmd: str) -> List[Any]: def exec(self, cmd: str) -> List[Any]:
"""
执行特殊sql语句
:param cmd:
:return:
"""
self.__cursor.execute(cmd) self.__cursor.execute(cmd)
result = self.__cursor.fetchall() result = self.__cursor.fetchall()
return result return result
+6
View File
@@ -11,3 +11,9 @@ from flask import Blueprint
main = Blueprint('main', __name__) main = Blueprint('main', __name__)
from . import views, errors from . import views, errors
__all__ = [
'main',
'views',
'errors'
]
+25 -10
View File
@@ -10,9 +10,10 @@ from flask import abort
from flask import request from flask import request
from flask import make_response from flask import make_response
from flask import render_template from flask import render_template
from . import main
from ..db.db import SQLite as db from ..db.db import SQLite as db
from ..utils.view import view from ..utils.view import view_
from ..utils.view import listing_
from . import main
@main.route('/', methods=['GET', 'POST']) @main.route('/', methods=['GET', 'POST'])
@@ -25,13 +26,14 @@ def index():
@main.route('/count/<string:name>', methods=['GET', 'POST']) @main.route('/count/<string:name>', methods=['GET', 'POST'])
def main(name: str): def home(name: str):
length = request.args.get('length', type=int) """
theme = request.args.get('theme', type=str) 主视图
if not bool(length): :param name:
length = 7 :return:
if not bool(theme): """
theme = 'lewd' length = request.args.get('length', 7, type=int)
theme = request.args.get('theme', 'lewd', type=str)
if not db().exists_name(name): if not db().exists_name(name):
db().insert(name) db().insert(name)
if not db().exists_table(theme): if not db().exists_table(theme):
@@ -42,8 +44,21 @@ def main(name: str):
db().update(name, 0) db().update(name, 0)
# 使用设置的长度减去已有数据的长度, 将结果转换为string类型, 再和数据库内的数据进行拼接 # 使用设置的长度减去已有数据的长度, 将结果转换为string类型, 再和数据库内的数据进行拼接
number = '0' * (length - len(str(data[-1]))) + str(data[-1]) number = '0' * (length - len(str(data[-1]))) + str(data[-1])
response = make_response(view(theme, int(length), name, number)) response = make_response(view_(theme, int(length), name, number))
response.headers['Content-Type'] = 'image/svg+xml; charset=utf-8' response.headers['Content-Type'] = 'image/svg+xml; charset=utf-8'
response.headers['cache-control'] = 'max-age=0, no-cache, no-store, must-revalidate' response.headers['cache-control'] = 'max-age=0, no-cache, no-store, must-revalidate'
return response return response
return abort(500) return abort(500)
@main.route('/list/', methods=['GET', 'POST'])
def listing():
"""
列出所有数据库内已有的数据
:return:
"""
data = db().exec('select * from reqcount;')
format_data = []
for i in data:
format_data.append({'name': i[0], 'times': i[1]})
return listing_(format_data)
+1 -1
View File
@@ -9,5 +9,5 @@
print('Tests models were loaded.') print('Tests models were loaded.')
__all__ = [ __all__ = [
'test_decorator'
] ]
+3 -1
View File
@@ -6,5 +6,7 @@
# @File Name: __init__.py.py # @File Name: __init__.py.py
__all__ = [ __all__ = [
'view' 'view',
'password',
'logger'
] ]
+14
View File
@@ -12,7 +12,12 @@ from colorlog import ColoredFormatter
class CreateLogger: class CreateLogger:
"""创建日志器"""
def __init__(self) -> None: def __init__(self) -> None:
"""
初始化类
"""
self.date_format = '%H:%M:%S' self.date_format = '%H:%M:%S'
self.info_format_console = '%(log_color)s[%(asctime)s] |%(filename)-12s[%(lineno)s] |%(levelname)-8s |%(message)s' self.info_format_console = '%(log_color)s[%(asctime)s] |%(filename)-12s[%(lineno)s] |%(levelname)-8s |%(message)s'
self.info_format_file = '[%(asctime)s] |%(filename)s[%(funcName)sline:%(lineno)d] |%(levelname)-8s |%(message)s' self.info_format_file = '[%(asctime)s] |%(filename)s[%(funcName)sline:%(lineno)d] |%(levelname)-8s |%(message)s'
@@ -29,6 +34,10 @@ class CreateLogger:
datefmt=self.date_format) datefmt=self.date_format)
def get_logger(self) -> logging.Logger: def get_logger(self) -> logging.Logger:
"""
设置日志器
:return:
"""
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
console_logger = logging.StreamHandler() # 输出到终端 console_logger = logging.StreamHandler() # 输出到终端
@@ -44,4 +53,9 @@ class CreateLogger:
@staticmethod @staticmethod
def init_app(app): def init_app(app):
"""
虚假的init_app静态方法
:param app:
:return:
"""
pass pass
+11 -1
View File
@@ -12,7 +12,7 @@ from flask import render_template
from typing import Tuple from typing import Tuple
def view(theme: str, length: int, name: str, count: str ) -> str or Tuple[bool, str]: def view_(theme: str, length: int, name: str, count: str) -> str or Tuple[bool, str]:
""" """
渲染模板 渲染模板
:param theme: :param theme:
@@ -77,3 +77,13 @@ def view(theme: str, length: int, name: str, count: str ) -> str or Tuple[bool,
address=request.remote_addr, address=request.remote_addr,
general_height=general_height, general_height=general_height,
general_width=general_width) general_width=general_width)
def listing_(data: list):
"""
展示数据库内所有的数据
:param data:
:return:
"""
return render_template('list.html',
data=data)
-6
View File
@@ -1,6 +0,0 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/4/13
# @File Name: __init__.py.py
-6
View File
@@ -1,6 +0,0 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/4/13
# @File Name: auth.py