用于添加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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在依赖项上没有这样的方法异常   java如何将@Value注入setter?   验证输入java的最佳实践   java在使用kotlin的安卓项目中没有此类字段错误   我们可以强制java接口实现超时吗?   java将BasicAuth()与FormLogin()组合用于不同的路径   java无法在更新SDK后更新应用程序(未安装应用程序)   macos Java 8、Swing和OSX:对话框使UI对鼠标无响应   java自定义单元格格式以US格式显示,尽管使用了带UK语言环境的DataFormatter   java按升序排列列表字符串数据   java Hibernate OGM[PersistenceUnit:person]无法构建Hibernate SessionFactory   生命周期配置未涵盖java插件执行:com。乱穿马路。专家插件。安卓generation2:安卓mavenplugin:3.5.0:generatesources   java RecyclerView显示为空   当服务器不返回任何输入时,java InputStream read()会阻塞