-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.py
More file actions
89 lines (71 loc) · 2.69 KB
/
Copy pathrun.py
File metadata and controls
89 lines (71 loc) · 2.69 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import sys
import os
import threading
import time
import logging
from flask import Flask, request, redirect, url_for, render_template, flash
from flask_login import LoginManager, login_user, logout_user, current_user, login_required
from router.models import User, query_user
from flask_script import Manager, Server
from router.module import module_bp
# log = logging.getLogger('werkzeug')
# log.setLevel(logging.ERROR)
app = Flask(__name__)
app.config['JSON_SORT_KEYS'] = False
app.secret_key = '1234567'
# manager = Manager(app)
# manager.add_command('runserver', Server(host='0.0.0.0', port=5000, use_debugger=False))
# # manager.option('-r', '-d')
app.register_blueprint(module_bp)
login_manager = LoginManager()
login_manager.login_view = 'login'
login_manager.login_message_category = 'info'
login_manager.login_message = ''
login_manager.init_app(app)
#################################################
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
user_id = request.form.get('userid')
user = query_user(user_id)
if user is not None and request.form['password'] == user['password']:
curr_user = User()
curr_user.id = user_id
# 通过Flask-Login的login_user方法登录用户
login_user(curr_user)
return redirect(url_for('module.dashboard'))
flash('无效的用户名或密码!')
# GET 请求
return render_template('login.html', title="登录系统")
@app.route('/logout')
@login_required
def logout():
logout_user()
# return 'Logged out successfully!'
return render_template('login.html' , title="登录系统")
@login_manager.user_loader
def load_user(user_id):
if query_user(user_id) is not None:
curr_user = User()
curr_user.id = user_id
return curr_user
# def start_browser(tname, delay):
# # print('start: ' + tname)
# time.sleep(delay)
# # os.system('start_gui.bat')
# os.system("..\\GoogleChromePortable\\App\\Chrome-bin\\chrome.exe --disable-extensions --app=http://127.0.0.1:5000")
def start_server(tname, delay):
# print('start: ' + tname)
time.sleep(delay)
# sys.argv.append('runserver')
# manager.run()
# app.run(host='127.0.0.1', port=5000, debug=False)
app.run(host='0.0.0.0', port=5000, debug=False)
if __name__ == '__main__':
try:
# t1 = threading.Thread(target=start_browser, args=('t1_browser', 3,))
t2 = threading.Thread(target=start_server, args=('t2_server', 1,))
# t1.start()
t2.start()
except:
print("Error: unable to start thread")