add-admin

view
王宇洋 3 years ago
parent e6ece1ff58
commit 72c7a1595d

@ -1,5 +1,6 @@
# The purpose of this file is to construct an application package to call factory functions # The purpose of this file is to construct an application package to call factory functions
from flask import Flask from flask import Flask
from flask_admin import Admin
from flask_bootstrap import Bootstrap from flask_bootstrap import Bootstrap
from flask_mail import Mail from flask_mail import Mail
from flask_moment import Moment from flask_moment import Moment
@ -21,6 +22,7 @@ csrf = CSRFProtect()
cache = Cache() cache = Cache()
debug_toolbar = DebugToolbarExtension() debug_toolbar = DebugToolbarExtension()
flask_static_digest = FlaskStaticDigest() flask_static_digest = FlaskStaticDigest()
admin = Admin(template_mode='bootstrap4')
login_manager = LoginManager() login_manager = LoginManager()
login_manager.login_view = 'auth.login' login_manager.login_view = 'auth.login'
@ -42,6 +44,8 @@ def create_app(config_name):
pagedown.init_app(app) pagedown.init_app(app)
debug_toolbar.init_app(app) debug_toolbar.init_app(app)
flask_static_digest.init_app(app) flask_static_digest.init_app(app)
admin.init_app(app)
from .main import main as main_blueprint from .main import main as main_blueprint

Binary file not shown.

@ -5,8 +5,10 @@ import time
import requests import requests
from flask import Response from flask import Response
from flask_admin.contrib.fileadmin import FileAdmin
from flask_admin.contrib.sqla import ModelView
from flask_migrate import Migrate from flask_migrate import Migrate
from app import create_app, db from app import create_app, db, admin
from app.models import User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity from app.models import User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity
# if you want to execute the program # if you want to execute the program
@ -23,23 +25,22 @@ from sdk.geetest_lib import GeetestLib
# 发送bypass请求获取bypass状态并进行缓存 # 发送bypass请求获取bypass状态并进行缓存
def check_bypass_status(): def check_bypass_status():
while True: response = ""
response = "" params = {"gt": GEETEST_ID}
params = {"gt": GEETEST_ID} try:
try: response = requests.get(url=BYPASS_URL, params=params)
response = requests.get(url=BYPASS_URL, params=params) except Exception as e:
except Exception as e: print(e)
print(e) if response and response.status_code == 200:
if response and response.status_code == 200: print(response.content)
print(response.content) bypass_status_str = response.content.decode("utf-8")
bypass_status_str = response.content.decode("utf-8") bypass_status = json.loads(bypass_status_str).get("status")
bypass_status = json.loads(bypass_status_str).get("status") geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status else:
else: bypass_status = "fail"
bypass_status = "fail" geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status print("bypass状态已经获取并存入redis当前状态为-{}".format(bypass_status))
print("bypass状态已经获取并存入redis当前状态为-{}".format(bypass_status)) time.sleep(CYCLE_TIME)
time.sleep(CYCLE_TIME)
@app.shell_context_processor @app.shell_context_processor
@ -88,5 +89,19 @@ def favicon():
thread = threading.Thread(target=check_bypass_status) thread = threading.Thread(target=check_bypass_status)
thread.start() thread.start()
app.secret_key = GeetestLib.VERSION app.secret_key = GeetestLib.VERSION
# User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity
admin.add_view(ModelView(User, db.session, name="Users", endpoint="users"))
admin.add_view(ModelView(Role, db.session, name="roles", endpoint="roles"))
admin.add_view(ModelView(Students, db.session, name="Studentss", endpoint="Studentss"))
# admin.add_view(ModelView(Permission, db.session, name="Permissions", endpoint="Permissions"))
admin.add_view(ModelView(Post, db.session, name="Posts", endpoint="Posts"))
admin.add_view(ModelView(Comment, db.session, name="Comments", endpoint="Comments"))
admin.add_view(ModelView(Like, db.session, name="Likes", endpoint="Likes"))
admin.add_view(ModelView(Notification, db.session, name="Notifications", endpoint="Notifications"))
admin.add_view(ModelView(Transaction, db.session, name="Transactions", endpoint="Transactions"))
admin.add_view(ModelView(Activity, db.session, name="Activities", endpoint="Activities"))
admin.add_view(FileAdmin("."))
if __name__ == '__main__': if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0') app.run(debug=True, host='0.0.0.0')

@ -31,4 +31,6 @@ Markdown~=3.2.1
flask_caching flask_caching
flask_debugtoolbar flask_debugtoolbar
flask_static_digest flask_static_digest
flask-admin
wtforms_appengine
Loading…
Cancel
Save