python学习

This commit is contained in:
2019-08-06 17:16:39 +08:00
parent 020f56d2d5
commit 2b7e1e1fc8
36 changed files with 3812 additions and 377 deletions

View File

@@ -3,74 +3,78 @@ from flask import Blueprint,request,redirect,jsonify
from common.libs.Helper import ops_render,iPagination,getCurrentDate
from common.libs.UrlManager import UrlManager
from common.libs.user.UserService import UserService
from common.models.User import User
from common.models.log.AppAccessLog import AppAccessLog
from sqlalchemy import or_
route_account = Blueprint( 'account_page',__name__ )
from common.models.User import User
from sqlalchemy import or_
from application import app,db
route_account = Blueprint( 'account_page',__name__ )
@route_account.route( "/index" )
def index():
resp_data = {}
req = request.values
page = int(req['p']) if ('p' in req and req['p']) else 1
page = int( req['p'] ) if ( 'p' in req and req['p'] ) else 1
query = User.query
if 'mix_kw' in req:
rule = or_( User.nickname.ilike( "%{0}%".format( req['mix_kw'] ) ),User.mobile.ilike( "%{0}%".format( req['mix_kw'] ) ))
rule = or_( User.nickname.ilike( "%{0}%".format( req['mix_kw'] ) ),User.mobile.ilike( "%{0}%".format( req['mix_kw'] ) ) )
query = query.filter( rule )
if 'status' in req and int( req['status'] ) > -1:
query = query.filter( User.status == int( req['status']) )
query = query.filter( User.status == int( req['status'] ) )
page_params = {
'total': query.count(),
'page_size': app.config['PAGE_SIZE'],
'page_size':app.config['PAGE_SIZE'],
'page': page,
'display': app.config['PAGE_DISPLAY'],
'url': request.full_path.replace( "&p={}".format(page),"")
'display':app.config['PAGE_DISPLAY'],
'url': request.full_path.replace( "&p={}".format(page),"" )
}
pages = iPagination(page_params)
offset = (page - 1) * app.config['PAGE_SIZE']
pages = iPagination( page_params )
offset = ( page - 1 ) * app.config['PAGE_SIZE']
limit = app.config['PAGE_SIZE'] * page
list = query.order_by(User.uid.desc()).all()[offset:limit]
list = query.order_by( User.uid.desc() ).all()[ offset:limit ]
resp_data['list'] = list
resp_data['pages'] = pages
resp_data['search_con'] = req
resp_data['status_mapping'] = app.config['STATUS_MAPPING']
return ops_render("account/index.html", resp_data)
return ops_render( "account/index.html",resp_data )
@route_account.route( "/info" )
def info():
resp_data = {}
req = request.args
uid = int(req.get('id', 0))
uid = int( req.get('id',0 ))
reback_url = UrlManager.buildUrl("/account/index")
if uid < 1:
return redirect(reback_url)
return redirect( reback_url )
info = User.query.filter_by(uid=uid).first()
info = User.query.filter_by( uid = uid ).first()
if not info:
return redirect(reback_url)
return redirect( reback_url )
access_list = AppAccessLog.query.filter_by(uid=uid).order_by(AppAccessLog.id.desc()).limit(10).all()
access_list = AppAccessLog.query.filter_by( uid = uid).order_by(AppAccessLog.id.desc() ).limit(10).all()
resp_data['info'] = info
resp_data['access_list'] = access_list
return ops_render( "account/info.html",resp_data )
return ops_render("account/info.html", resp_data)
@route_account.route( "/set" ,methods=["GET", "POST"])
@route_account.route( "/set",methods = [ "GET","POST" ] )
def set():
default_pwd = "******"
if request.method == "GET":
resp_data = {}
req = request.args
uid = int( req.get( "id",0))
uid = int( req.get( "id",0 ) )
info = None
if uid:
if uid :
info = User.query.filter_by( uid = uid ).first()
resp_data['info'] = info
return ops_render( "account/set.html",resp_data)
return ops_render( "account/set.html",resp_data )
resp = { 'code':200,'msg':'操作成功~~','data':{} }
req = request.values
@@ -106,13 +110,13 @@ def set():
resp['msg'] = "请输入符合规范的登录密码~~"
return jsonify( resp )
has_in = User.query.filter( User.login_name == login_name,User.uid!= id).first()
has_in = User.query.filter( User.login_name == login_name,User.uid != id ).first()
if has_in:
resp['code'] = -1
resp['msg'] = "该登录名已存在,请换一个试试~~"
return jsonify(resp)
user_info = User.query.filter_by(uid=id).first()
user_info = User.query.filter_by( uid = id ).first()
if user_info:
model_user = user_info
else:
@@ -124,12 +128,15 @@ def set():
model_user.mobile = mobile
model_user.email = email
model_user.login_name = login_name
if login_pwd != default_pwd:
model_user.login_pwd = UserService.genePwd( login_pwd,model_user.login_salt )
if user_info and user_info.uid == 1:
resp['code'] = -1
resp['msg'] = "该用户是演示账号,不准修改密码和登录用户名~~"
return jsonify(resp)
model_user.created_time = getCurrentDate()
model_user.login_pwd = UserService.genePwd( login_pwd,model_user.login_salt )
model_user.updated_time = getCurrentDate()
db.session.add( model_user )
db.session.commit()
return jsonify(resp)
@@ -162,8 +169,15 @@ def ops():
elif act == "recover":
user_info.status = 1
if user_info and user_info.uid == 1:
resp['code'] = -1
resp['msg'] = "该用户是演示账号,不准操作账号~~"
return jsonify(resp)
user_info.update_time = getCurrentDate()
db.session.add(user_info)
db.session.commit()
return jsonify(resp)