Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python rest api和烧瓶、烧瓶cors中的响应标头_Python_Rest_Flask Cors - Fatal编程技术网

python rest api和烧瓶、烧瓶cors中的响应标头

python rest api和烧瓶、烧瓶cors中的响应标头,python,rest,flask-cors,Python,Rest,Flask Cors,我已经用flask在python上制作了一个restapi(端口:5000),我正在从一个网站(端口:80)发出get和post请求。 我收到了cors错误,所以我尝试在RESTAPI中为站点创建一个响应头。 但是我得到了导入错误: Traceback (most recent call last): File "C:\Users\arist\Desktop\Aristo-api.py", line 3, in <module> from flask_cors import CORS

我已经用flask在python上制作了一个restapi(端口:5000),我正在从一个网站(端口:80)发出get和post请求。 我收到了cors错误,所以我尝试在RESTAPI中为站点创建一个响应头。 但是我得到了导入错误:

Traceback (most recent call last):
File "C:\Users\arist\Desktop\Aristo-api.py", line 3, in <module>
from flask_cors import CORS
ModuleNotFoundError: No module named 'flask_cors'
回溯(最近一次呼叫最后一次):
文件“C:\Users\arist\Desktop\Aristo api.py”,第3行,在
从LASKU cors进口cors
ModuleNotFoundError:没有名为“flask\u cors”的模块
我已经下载了flask cors模块并对其进行了升级,并确保它处于正确的路径,但它仍然无法工作

API代码:

from flask import Flask, jsonify, request, Response
import json
from flask_cors import CORS  #error here

app = Flask(__name__)
CORS(app)
table_num = 0;
orders= []
put_bill = []

@app.route('/order', methods=['PUT'])
def submitorder():
    request_order = request.get_json()
    orders.append(request_order)
    response = Response("successfully submitted order", status=200)
    return response

@app.route('/all', methods=['GET'])
def get_all_orders():
   return jsonify(orders)

@app.route('/order/<int:num>', methods=['GET'])    
def get_by_tablenum(num):
   for table in orders:
       if table['tablenum']==num:
           return jsonify(table)
    return Response('invalid table number', status=404)

 @app.route('/menu', methods = ['GET'])
    def get_menu():
        menu_txt = open("C:\\Users\\arist\\Desktop\\New_Menu\\Menu.txt", "r")
        menu_fin = menu_txt.read()
        response = menu_fin
        return response

  @app.route('/bill/<string:tableid>', methods=['PUT'])
   def ask_for_bill(tableid):
       put_bill.append(tableid)
       return Response("table successfully asked for the bill", status=200)

  @app.route('/bill/all', methods=['GET'])
    def get_all_bills():
       return jsonify(put_bill)



  app.run(port=5000, host='0.0.0.0')
从烧瓶导入烧瓶,jsonify,请求,响应
导入json
从flask_cors导入cors#此处有错误
app=烧瓶(名称)
CORS(应用程序)
表_num=0;
订单=[]
付账单=[]
@app.route('/order',methods=['PUT'])
def submitor():
request\u order=request.get\u json()
订单。追加(请求订单)
响应=响应(“已成功提交订单”,状态=200)
返回响应
@app.route('/all',methods=['GET'])
def获取所有订单():
返回jsonify(订单)
@app.route('/order/',methods=['GET'])
def get_by_tablenum(num):
对于订单中的表格:
如果表['tablenum']==num:
返回jsonify(表)
返回响应('无效表号',状态=404)
@app.route('/menu',methods=['GET'])
def get_菜单():
menu_txt=open(“C:\\Users\\arist\\Desktop\\New_menu\\menu.txt”,“r”)
menu_fin=menu_txt.read()
响应=菜单\u fin
返回响应
@app.route('/bill/',methods=['PUT'])
def请求账单(表格ID):
put\u bill.append(tableid)
返回响应(“表格成功请求账单”,状态=200)
@app.route('/bill/all',methods=['GET'])
def获取所有账单():
归还jsonify(票据)
app.run(端口=5000,主机=0.0.0.0')

首先需要确保安装的flask cors模块与python版本(32位或64位)兼容。如果在检查版本后仍然出现错误,那么作为最后手段,您可以尝试查找与flask_cors关联的python文件(包括文件本身),并将它们复制到项目文件中。如果仍然不起作用,您可以尝试使用“pip unistall flask_cors”卸载以前的数据包并重新安装它们。

这能解决您的问题吗?您是否使用任何类型的虚拟环境?@Anwarvic我使用python 3.8 32位windows 10中的默认空闲环境。您是否使用了
pip
pip3
?@Anwarvic两者都正确安装了模块