import csv
import datetime
import os
import sys
import time
from flask import Blueprint, request, jsonify, render_template, session, redirect
from sqlalchemy import func
workdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, workdir)
from logger import Logger
from exts import db
from .models import *
from .detection.main_test import predict_img
PAGE_SIZE = 5
bp = Blueprint('inference', '__name__', url_prefix='')
logger = Logger(logname='inference_views.log', loglevel=5, logger='inference').getlog()
@bp.route('/index', methods=['GET'])
def index1():
"""
:return:
"""
total_qz = len(Pic.query.filter(Pic.result == '青枣').all())
total_hz = len(Pic.query.filter(Pic.result == '红枣').all())
total_user = len(User.query.all())
now_time = datetime.now()
year = now_time.year
month = now_time.month
day=now_time.day
current_time = str(year) +"-"+str(month)+"-"+str(day)
return render_template('index.html', total_user=total_user,total_hz=total_hz,current_time=current_time,
total_qz=total_qz)
@bp.route('/base', methods=['GET'])
def base():
"""
:return:
"""
return render_template('base.html')
@bp.route('/tpsb', methods=['GET'])
def tpsb():
"""
图片识别
:return:
"""
image_list = Pic.query.all()
return render_template('tpsb.html',image_list=image_list)
@bp.route('/', methods=['GET'])
def login():
"""
登录页
:return:
"""
return render_template('login.html')
@bp.route('/tpfx', methods=['get'])
def tpfx():
results = db.session.query(Pic.result,func.count(User.id)).group_by('result').all() # 返回查询集合
print(results)
country = []
count = []
for i in results:
country.append(i[0])
count.append(i[1])
result1 = db.session.query(Pic.owner,func.count(User.id)).group_by('owner').all() # 返回查询集合
print(result1)
values = []
for i in result1:
values.append({'name': i[0], 'value': i[1]})
print(values)
return render_template('tpfx.html',country=country,count=count,values=values)
@bp.route('/user', methods=['get'])
def user():
return render_template('user.html')
@bp.route('/tpgl', methods=['get'])
def tpgl():
return render_template('tpgl.html')
@bp.route('/get_pic', methods=['get', 'post'])
def get_pic():
"""
查询所有用户信息
:return:
"""
keyword = request.args.get('name')
page = int(request.args.get("page"))
limit = int(request.args.get("limit"))
print(page)
response_data = {}
response_data['code'] = 0
response_data['msg'] = ''
data = []
if keyword is None:
user_objs = Pic.query.order_by(Pic.id.desc())
else:
user_objs = Pic.query.filter(Pic.name.like('%{keyword}%'.format(keyword=keyword)))
results = user_objs.paginate(page=page, per_page=limit, error_out=False)
users_page = results.items
if users_page:
for result in users_page:
record = {
"id": result.id,
"name": result.name,
'create_time': str(result.create_time),
"status": result.status,
'owner': result.owner,
'result': result.result
}
data.append(record)
response_data['count'] = len(user_objs.all())
response_data['data'] = data
return jsonify(response_data)
@bp.route('/get_users', methods=['get', 'post'])
def get_users():
"""
查询所有用户信息
:return:
"""
keyword = request.args.get('name')
page = int(request.args.get("page"))
limit = int(request.args.get("limit"))
print(page)
response_data = {}
response_data['code'] = 0
response_data['msg'] = ''
data = []
if keyword is None:
user_objs = User.query.order_by(User.id.desc())
else:
user_objs = User.query.filter(User.name.like('%{keyword}%'.format(keyword=keyword)))
results = user_objs.paginate(page=page, per_page=limit, error_out=False)
users_page = results.items
if users_page:
for user_obj in users_page:
if user_obj.role == '3':
role = '管理员'
else:
role = '普通用户'
record = {
"id": user_obj.id,
"name": user_obj.name,
"password": user_obj.password,
'create_time': str(user_obj.create_time),
"phone": user_obj.phone,
"role": role
}
data.append(record)
response_data['count'] = len(user_objs.all())
response_data['data'] = data
return jsonify(response_data)
@bp.route('/personal', methods=['get', 'post'])
def personal():
"""
个人信息
:return:
"""
username = session.get('username')
user_obj = User.query.filter(User.name == username).first()
print(user_obj)
user_dict = {
'id': user_obj.id,
'name': user_obj.name,
'phone': user_obj.phone,
'description': "管理员" if user_obj.role == '3' else "普通用户",
'create_time': str(user_obj.create_time),
'modify_time': str(user_obj.last_modify_time),
}
print(user_dict)
return render_template('personal.html', user=user_dict)
@bp.route('/add_user', methods=['post'])
def add_user():
"""
新增用户
:return:
"""
# 判断用户是否存在
others = User.query.filter_by(name=request.form.get('username')).all()
if len(others) > 0:
return jsonify({"code": 'error!', 'msg': '用户名重复!'})
others = User.query.filter_by(phone=request.form.get('phone')).all()
if len(others) > 0:
return jsonify({"code": 'error!', 'msg': '手机号重复!'})
password = request.form.get('password')
user = User(name=request.form.get('username'), password=password,
phone=request.form.get('phone'),
role=2)
try:
db.session.add(user)
db.session.commit()
return jsonify({"code": 'success!'})
except Exception as e:
logger.error(str(e))
return jsonify({'code': 'error!'})
@bp.route('/login_out', methods=['get'])
def login_out():
"""
注销登录
:return:
"""
# 删除session
if session.get("username"):
del session["username"]
return redirect('/')
@bp.route('/register', methods=['get'])
def register():
"""
注册页面
:return:
"""
return render_template('signup.html')
@bp.route('/login_check', methods=['POST'])
def login_check():
"""
登录验证
:return:
"""
username = request.form.get('username')
password = request.form.get('password')
print(username, password)
user = db.session.query(User).filter(User.name == username).first()
# 判断用户密码是否正确
if user:
if user.password == password:
session['username'] = username
session['role'] = user.role
session['user_id'] = user.id
session.permanent = True
return jsonify({"msg": "验证通过", 'role': user.role})
else:
return jsonify({"msg": "密码错误,请重新输入"}), 401
return jsonify({"msg": "帐号不存在,请重新输入"}), 401
@bp.route('edit_user', methods=['post'])
def edit_user():
"""
编辑用户
:return:
"""
print(1111111)
response_data = {}
user_id = request.form.get('id')
username = request.form.get('username')
phone = request.form.get('phone')
desc = request.form.get('desc')
others = db.session.query(User).filter(Use
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
python毕业设计之基于深度学习的红枣识别算法设计(flask)源码.zip (902个子文件)
bootstrap.min.css 118KB
layui.css 78KB
ueditor.css 44KB
login.css 40KB
admin.css 36KB
ueditor.min.css 34KB
layui.css 31KB
video-js.css 21KB
image.css 19KB
grid.css 17KB
video.css 15KB
layer.css 15KB
attachment.css 15KB
layer.css 14KB
layer.css 14KB
video-js.min.css 11KB
layui.mobile.css 11KB
laydate.css 9KB
laydate.css 8KB
layui.mobile.css 8KB
laydate.css 7KB
shCoreDefault.css 7KB
demo.css 6KB
scrawl.css 4KB
email.css 3KB
codemirror.css 3KB
reset.css 3KB
charts.css 3KB
background.css 2KB
emotion.css 2KB
dialogbase.css 2KB
login.css 2KB
music.css 2KB
comment.css 2KB
mobile.css 2KB
iconfont.css 1KB
panel.css 1KB
code.css 1KB
column.css 1KB
edittable.css 1KB
code.css 1KB
template.css 1KB
avatar.css 943B
page.css 751B
webuploader.css 515B
font.css 512B
help.css 395B
css3.css 67B
iframe.css 42B
var.css 0B
iconfont.eot 52KB
iconfont.eot 46KB
iconfont.eot 12KB
vjs.eot 3KB
UEditorSnapscreen.exe 508KB
wface.gif 49KB
jxface2.gif 40KB
yface.gif 28KB
bface.gif 27KB
icons.gif 20KB
file-icons.gif 20KB
file-icons.gif 20KB
tface.gif 19KB
fface.gif 18KB
59.gif 10KB
59.gif 10KB
loading-4.gif 10KB
22.gif 10KB
22.gif 10KB
cface.gif 8KB
24.gif 8KB
24.gif 8KB
13.gif 7KB
13.gif 7KB
16.gif 7KB
16.gif 7KB
39.gif 6KB
39.gif 6KB
64.gif 6KB
64.gif 6KB
63.gif 6KB
63.gif 6KB
50.gif 6KB
50.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
4.gif 6KB
4.gif 6KB
1.gif 5KB
1.gif 5KB
42.gif 5KB
42.gif 5KB
71.gif 5KB
71.gif 5KB
21.gif 5KB
21.gif 5KB
20.gif 5KB
20.gif 5KB
29.gif 5KB
29.gif 5KB
共 902 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
风月歌
- 粉丝: 1084
- 资源: 2529
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功