用于添加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问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序