Заголовок ответа в python остальные API и flask, flask корс - PullRequest
1 голос
/ 27 апреля 2020

Я сделал api rest на python с flask (порт: 5000), и я делаю запрос на получение и публикацию с веб-сайта (порт: 80). Я получаю ошибку Cors, поэтому я попытался создать заголовок ответа в моем API для остальных сайта. Но я получаю ошибку импорта:

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'

Я скачал модуль 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')

1 Ответ

0 голосов
/ 06 мая 2020

Сначала необходимо убедиться, что установленный модуль flask -cors совместим с вашей версией python (32 бита или 64 бита). Если вы по-прежнему получаете сообщение об ошибке после проверки версии, то в качестве последнего средства вы можете попытаться найти python файлы, связанные с flask_cors (включая сам файл), и скопировать их в файлы вашего проекта. Если это все еще не работает, вы можете попробовать удалить предыдущие пакеты, используя: "pip unistall flask_cors" и переустановить их.

...