新建项目文件夹(需要自己去添加或引用一个虚拟机) 在项目文件夹下新建通信消息处理的文件夹communication 在communication下新建获取参数处理的文件webrequest.py,添加代码如下
from flask import request
def get_response_json ( name) :
try :
return request. json[ name] or None
except :
return None
def get_response_args ( name) :
try :
return request. args. get( name) or None
except :
return None
def get_response_form ( name) :
try :
return request. form. get( name, type = str , default= None )
except :
return None
def get_response_values ( name) :
try :
return request. values. get( name) or None
except :
return None
def get_request_str ( name, defaultValue= '' ) :
value = get_response_json( name)
if value is None :
value = get_response_args( name)
if value is None :
value = get_response_form( name)
if value is None :
value = get_response_values( name)
if value is None :
value = defaultValue
return value
在communication下新建获取参数处理的文件webresponse.py,添加代码如下
from flask import make_response, jsonify
def response_success_data ( qts_data) :
return {
'qts_result' : True ,
'qts_haserr' : False ,
'qts_msg' : None ,
'qts_data' : qts_data
}
def response_error_data ( qts_msg) :
return {
'qts_result' : False ,
'qts_haserr' : True ,
'qts_msg' : qts_msg,
'qts_data' : None
}
def make_response_success ( qts_data) :
return make_response( jsonify( response_success_data( qts_data) ) , 200 )
def make_response_400 ( ) :
return make_response( jsonify( response_error_data( '请求无效' ) ) , 400 )
def make_response_401 ( ) :
return make_response( jsonify( response_error_data( '权限不足' ) ) , 401 )
def make_response_403 ( ) :
return make_response( jsonify( response_error_data( '禁止访问' ) ) , 401 )
def make_response_404 ( ) :
return make_response( jsonify( response_error_data( '请求不存在' ) ) , 404 )
def make_response_500 ( e) :
return make_response( jsonify( response_error_data( e) ) , 500 )
新建一个项目的前后端通信的接口的文件夹api 在api下新建子模块的文件,如用来处理登录以及权限的admin,添加代码如下
from flask import Blueprint
from communication. webrequest import get_request_str
from communication. webresponse import make_response_success, make_response_500
admin_plugin = Blueprint( 'admin' , __name__, url_prefix= '/admin' )
@admin_plugin. route( '/login' , methods= [ 'GET' , 'POST' ] )
def login ( ) :
try :
username= get_request_str( 'username' )
password= get_request_str( 'password' )
print ( qts_uid)
if username== 'admin' and password== '111' :
return make_response_success( '' )
else :
return make_response_500( ’参数错误‘)
except Exception as e:
return make_response_500( e)
在项目的文件夹下新建文件main.py,添加代码如下
from flask import render_template, Flask
from api. admin import admin_plugin
def register_app ( app) :
app. register_blueprint( admin_plugin)
def index ( ) :
return render_template( 'index.html' )
def register_app_url ( app) :
app. add_url_rule( '/' , '' , index)
def create_app ( ) :
app = Flask( __name__, static_folder= 'static' , template_folder= '' )
register_app_url( app)
register_app( app)
return app
在项目的文件夹下新建文件run.py,用以启动项目,添加代码如下
from main import create_app
if __name__ == '__main__' :
app = create_app( )
app. run(
debug= True , use_reloader= True ,
host= '127.0.0.1' , port= 5600
)