确定要在http响应中发送的最佳内容

accept-types的Python项目详细描述


accept-types帮助您的应用程序以客户机喜欢的方式响应http请求。 http请求的Accept头通知服务器客户端期望的mime类型 从这个请求返回,用权重表示最喜欢的。如果您的服务器可以响应 多种格式(如json、xml、html),客户端可以很容易地告诉服务器 首选格式,而不在查询字符串末尾使用诸如“&;format=json”之类的黑客。

用法

get_best_match

如果提供了Accept头和服务器可以响应的类型列表,则此函数 返回客户端最喜欢的类型。此函数将只返回一个可接受的类型 传入,或者None如果找不到合适的类型:

fromaccept_typeimportget_best_matchdefget_the_info(request):info=gather_info()return_type=get_best_match(request.META.get('HTTP_ACCEPT'),['text/html','application/xml','text/json'])ifreturn_type=='application/xml':returnrender_xml(info)elifreturn_type=='text/json':returnrender_json(info)elifreturn_type=='text/html':returnrender_html(info)elifreturn_type==None:returnHttpResponse406()

parse_header

当提供一个Accept头时,它将解析它并返回一个已排序的客户机列表 接受的mime类型。这些将是AcceptableType类的实例。

>>>fromaccept_typeimportparse_header>>>parse_header('text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')['text/html, weight 1','application/xhtml+xml, weight 1','application/xml, weight 0.9','*/*, weight 0.8']

AcceptableType

AcceptableType实例表示客户端愿意接受的类型之一。这个 类型可以包含通配符,以匹配多个mime类型。

>>>fromaccept_typeimportAcceptableType>>>type=AcceptableType('image/*;q=0.9')AcceptableType>>>type.mime_type'image/*'>>>type.weight0.9>>>type.matches('image/png')True>>>type.matches('text/html')False

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

推荐PyPI第三方库


热门话题
Java谷歌地图将地址转换为坐标   java舍入错误给了我无效的答案   JavaSpring3。0 mvc问题(请求的资源不可用)   java在关闭GraphStream时不关闭Swing主应用程序   java使用特定的orderby从包含多个子节点的FireBase数据库检索数据   java是否可以不安全地访问JVM未使用的对象?   java读取单词的第一个字母并选择其字母表编号   java在同一个包中导入类   安卓 java。lang.IndexOutOfBoundsException:索引0无效,大小为0   java JTextPane仅以单行显示插入的组件   java系统应用程序如何在CyanogenMod 11中以编程方式读取整个logcat?   java如何访问保存在中的变量。MatlabBuilder JA构建的jar文件中的mat文件?   Java不必要的图像覆盖   数组javajsonarray。包含(字符串)没有这样的函数?   javacamel:如何在文件组件中使用相同的头   java smack setKeystorePath不工作?   JavaJackcessDatabaseBuilder。开放式失败   对Jetty Jersey应用程序的java请求在1分钟后终止   在客户端断开连接后,java进程是否仍在继续   安全Java签名代码小程序混合代码警告即使在TrustedLibrary之后:true