用于添加cors http头的django中间件。
django-dcors的Python项目详细描述
包dcors是用于启用跨源资源的django中间件 共享(CORS)。
使用:
pip install django-dcors
代码位于https://github.com/prasanthn/django-dcors。
django设置模块中指定的值用于设置适当的 HTTP响应中的头。这些头将添加到所有响应中。
飞行前请求,即具有 访问控制请求方法头,返回空响应 包含下面提到的所有标题。
将此中间件添加到 设置模块中的中间件类列表。
向所有响应添加头很有用,因为并非所有请求都是 “预飞”。例如,“简单”认证的get请求不是 “pre-flighted”,但响应必须设置访问控制允许凭据 将响应设置为“true”以供客户端脚本使用。
Setting Value Respone header CORS_ALLOW_ORIGIN string Access-Control-Allow-Origin CORS_ALLOW_METHODS list Access-Control-Allow-Methods CORS_ALLOW_HEADERS list Access-Control-Allow-Headers CORS_ALLOW_CREDENTIALS "true" or "false" Access-Control-Allow-Credentials CORS_EXPOSE_HEADERS list Access-Control-Expose-Headers CORS_MAX_AGE seconds Access-Control-Max-Age CORS_ALLOW_ALL_ORIGIN <any-value> <see explanation below> CORS_ALLOW_ALL_HEADERS <any-value> <see explanation below>
如果设置cors_allow_all_origin存在,包含任何值,则 访问控制允许源响应头设置为源的值 请求中的头。这是允许所有域使用cors的快捷方式。
如果设置cors_allow_all_header存在,包含任何值,则 access control allow headers response header设置为访问的值- 请求中的控件请求头。这是允许 客户端发送任何带有cors请求的头。
默认情况下,没有设置上述任何值,因此响应将包含 对应标题的空值。注意,标题将出现 在响应中,但每个值都将是空字符串。
此中间件只向响应添加适当的头,而不阻止 基于请求中的头值进行访问。Web浏览器不允许 javascript发出不符合cors的请求和访问响应 标准。浏览器使用 回应。
有关详细信息,请参见https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS 关于cors的信息。支持cors的web浏览器可以在 http://caniuse.com/#search=cors。
测试存在于dcors/tests.py中,并已使用django 1.4.5和 python 2.7.3中的1.5.1。