【python学习笔记】关于python Flask前后端分离跨域问题

关于python Flask前后端分离跨域问题

前后端分离过程中,前后端对接测试难免遇到跨域问题。因为是个新司机,所以在我经过一天的测试,才找到解决办法=-=
第一种方法

from functools import wraps
from flask import make_response


def allow_cross_domain(fun):
    @wraps(fun)
    def wrapper_fun(*args, **kwargs):
        rst = make_response(fun(*args, **kwargs))
        rst.headers['Access-Control-Allow-Origin'] = '*'
        rst.headers['Access-Control-Allow-Methods'] = 'PUT,GET,POST,DELETE'
        allow_headers = "Referer,Accept,Origin,User-Agent"
        rst.headers['Access-Control-Allow-Headers'] = allow_headers
        return rst
    return wrapper_fun



@app.route('/hosts/')
@allow_cross_domain
def domains():
    pass

第二种方法
这也是我用的比较简单的方法,引用一个库文件Flask-CORS。http://flask-cors.readthedocs.io/en/latest/具体可以参考官方文档,可以直接用pip安装。
下面是我的引用方法

#!/usr/bin/python
# -*- coding: utf-8 -*-

from flask import Flask, request, make_response, redirect
import json,os,sys
from flask_cors import CORS, cross_origin #导入包
app = Flask(__name__)
app.debug = True
CORS(app, supports_credentials=True)#设置参数
from _base import _index_dict
from _global import *

你可能感兴趣的:(python)