Слияние кода завершено, страница обновится автоматически
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["TEMPLATES_AUTO_RELOAD"] = True
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")
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )