You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
from flask import Flask,request,json, jsonify, current_app
import time
from flask_pymongo import PyMongo
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
from flask_sqlalchemy import SQLAlchemy
import flask_whooshalchemyplus
from jieba.analyse.analyzer import ChineseAnalyzer
app=Flask(__name__)
tasks=list()
app=Flask(__name__)
tasks=list()
用户功能(使用 token 实现)
@app.route('/find', methods=['GET'])
def generate_token(api_users):
expiration = 3600
s = Serializer(current_app.config['SECRET_KEY'], expires_in=expiration) #expiration是过期时间
token = s.dumps({'id': api_users.id}).decode('ascii')
return token, expiration
def find():
user = request.args.get('user') #利用这个request.args.get方法可以模拟postman输入参数
password = request.args.get('password')
box_id = request.args.get('box_id')
user = User.query.filter_by(user=user, password=password).first()
result = mongo.db[box_id].find().sort([("t", -1)]).limit(1)
list = []
for res in result:
list.append(str(res))
token = generate_token(user)
str_token = str(token)
list.append(str_token)
json_data = jsonify(list)
return json_data
@app.route('/token', methods=['GET', 'POST'])
def token():
token = request.args.get('token')
_token = verify_auth_token(token)
# print(_token)
user = User.query.filter_by(id=_token.id).first()
result = mongo.db[user.box_id].find().sort([("t", -1)]).limit(1)
list = []
for res in result:
list.append(str(res))
json_data = jsonify(list)
return json_data
@app.route("/all_task",methods=["GET","POST","DELETE"])
def all_ask():
if request.method=="GET":
data=TASK.fanhui_list(tasks)#查看所有事项
response1=make_resp(data)
return response1
if request.method=="POST":
for id in range(0,len(tasks)):
tasks[id].status=not tasks[id].status#将所有事项设置为已完成
if request.method=="DELETE":
tasks.remove(tasks)#删除所有事项
return make_resp({})
查询
#初始化搜索
flask_whooshalchemyplus.init_app(app)
@api.route('/search',methods=["GET","POST"])
def search():
if request.method == "POST":
q = str(request.form.get('tasks'))
result = all_task.query.whoosh_search(q).all()
return render_template('search_back.html',results=result)
flask_whooshalchemyplus.index_one_model(all_task)
return render_template('search.html')
(还没写好www)
if __name__=='__main__':
app.run(debug=True)