Django 1.4、1.7、1.8、1.9、1.10和1.11的向后兼容层

django-compat的Python项目详细描述


django compat
==

==

[![构建状态](https://travis-ci.org/arteria/django-compat.svg?branch=master)(https://travis ci.org/arteria/django compat)
[![故事就绪](https://badge.waffle.io/arteria/django-compat.png?label=ready&title=ready)(https://waffle.io/arteria/django-compat)
[![覆盖状态](https://coveralls.io/repos/arteria/django-compat/badge.svg?branch=master&service=github)(https://coveralls.io/github/arteria/django-compat?分支=主)
[![PYPI](https://img.shields.io/pypi/v/django compat.svg)(https://pypi.python.org/pypi/django compat)

基于讨论[关于redd it](http://redd.it/2jrr4l)。让我们看看它的发展方向。~~~

基于[关于redd it的讨论](http://redd.it/2jrr4l)的实验已经证明在现实生活中是正确的。

django compat正在积极开发中。要了解其他功能、错误修复和更改,请参阅[changelog](https://github.com/arteria/django compat changelog)。

[django后台任务](https://github.com/arteria/django后台任务)。
想把你的名字列在这里吗?向我们发送一份pr.

为什么使用django compat

*能够使用django的LTS版本,并在您的应用程序中支持较新版本
*使用旧版本中较新django版本的功能
*管理和掌握不同框架版本之间的差距

django compat

从[pypi]安装compat(https://pypi.python.org/pypi/django-compat)或手动下载并安装。所有相关的发行版都列在发行版下(https://github.com/arteria/django compat/releases)。

例如,来自compat导入模式的


url patterns=patterns('abc.views',
url(r'^abc/$','abc',name='abc-link'),



请参见完整的示例[此处](https://github.com/arteria/django hijack/blob/4966d8865e7e829a562f724771628c6590f841/hijack/url.py l1)。


django compat是免费软件。如果您觉得有用并想回馈,请考虑使用[比特币](https://blockchain.info/payment_request)捐款?地址=1ajkbqdcnkrhzxi91mb1kpkxh4bj4hu4)或[贝宝](https://www.paypal.me/arteriagmbh)。谢谢您!|
----兼容对象



tested|1.8|1.9|1.10|1.11|Notes|
|---|---|---|---|---|---|---|
|`BytesIO`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`DjangoJSONEncoder`|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_m
`` emailvalidator`:重:重:重:重:重:重:重:重:重:重:重:重:重:重;
`` genericforeignkey`;:重:重:重:重:x::x::x::x::x::x::x::x;` models.genericforeignkey`:重_乘法:重复选标记::重c标记::重:重:重:重:重;
;`httpresponsebase`:重;:重;:重;:重;:重;:重;:重;:重;:重;:重;
;`jsonresponse`;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重标记::重_复选标记::重_复选标记::重_复选标记:
|` localeregegexprovider ` ` ` ` ` `:重:重:重:重:重:重:重:重:重:重:重:重;
`localeregegexurlresolver `;:重:重;:重:重:重:重:重:重:重:重:重:重:重
`noreversematch`:重被乘数x::重:重:重:重:重:重:重:重:重;
`` regexurlPattern:重:重:重:重;:重:重;:重;:重:重:重:重:重:重:重:重:重:重;``resolver404 `;:重;:重;:重;:重;:重;:重;:重;:重;:重复选标记:;
`resolvermatch `;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重u标记::重_复选标记::重_复选标记:
`sorteddi:重:重:重:重:重:重:重:重:重:重:重;
`` stringio `:重:重:重;:重:重:重:重:重:重:重:重:重:重;`urlvalidator`:重_乘法x::重_check标记::重check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`VariableNode`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`View`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`add_to_builtins`|:heavy_multiplication_x:|:heavy_check_mark:|:x:|:x:|:x:||
|`admin_utils`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`atomic`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_chec
:重_复选标记::重_复选标记:
`关闭连接`:heavy:heavy:重:重:重:重:重:重:重:重:重;
``承诺`:重;:重:重;:重;重;:重;:重:重:重:重:重:重:重:重:重:重:重;:重:重:重:重:重:重:重:重:重:重:重:重;
格式:重:重:重:重:重:重:重:重:heavy_check_mark:
`get_callable`:heavy_乘法_x::heavy_check_标志::重:重:重:重:重:重:重;
``获取当前站点`;:重;:重;:重;:重;:重;:重;:重;:重;:重;:重:重;
;`获取身份识别`;:重;:重;:重;

;;获取重;:获取重;:重X::重_复选标记::重_复选标记::重_复选标记::重_
:重:重:重:重:重:重;
:重:重:重:重:重:重check_mark::重_check_mark:
`get_model_name`:重_n x::重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重;重:重:重:重:重:重:重:重:重:重:重:重:重:重:重get_resolver`:重_乘法_x::重_复选标记::重_复选标记::重_勾选:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重:重;重勾号::重勾号::重勾号:获取URLconf ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
方舟:重勾号:重:重:重
``handler404`:重:重;:重;重:重:重:重:重:重重:重重_复选标记::重_复选标记::重_复选标记:
`import_mo:重:重:重:重:重:重:重:重:重:重重;
`进口字符串:重:重;:重:重:重:重:重:重:重:重:重:重:重/>`include`:重_乘法_x::重_复选标记::重_复选_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`is_valid_path`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`parse_qs`|:heavy_multiplication_x:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:||
|`patt:重:重:重;:重;:重;:重;:重;:重:重:重:重:重:重:重:重;:重;:重;:重;:重;:重:重;:重;:重;:重:重:重:重:重:重;:重:重:重:重:重:重:重:重:重;重:重:重:重:重:重:重:重:重:重重:警告::警告::1:重:重:重:重:重:重.10:通过虚线路径倒车移除
`反向`:重:重:重:重:重:重:重:重:重:重:重:重;
;`反向:重:重:重:重:重:重:重:重:重:重:重标记:
`回滚:重复选标记::重_复选标记ark::重检查标记::重检查标记::重检查标记:django<需要事务保存点(sid);1.8
:重:重:重:重:重:重:重:重:重:重:重;
:重:重:重:重:重:重:重:重:重:重::重_复选标记:
`simplejson`:重_乘法_x::重重:重:重:重:重:重重:重重;
:重:重:重:重重:重:重:重:重:重重:重重重重x::重_复选标记::重_复选标记::重_复选标记::hea
:重:重:重x::重_乘法x:函数用于` urlpatterns`
`tempat.url`:重_复选标记::重_复选标记::重_复选标记::重_复选标记::重_复选标记:templatetag;使用{%从compat加载url导入%`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````:heavy_u check_mark:
`urlsolvers`:heavy_u乘法_x::he人肉搜索搜索引擎的搜索标记::重:重:重:重:重:重;
:重:重:重:重:重:重:重;:重:重:重:重:重:重重:重:重:重乘法_x::重_复选标记::重_复选标记::重_复选标记K::重复选标记:
`templatetags.compat.verbatim`:重复选标记::重复选标记::重复选标记::重复选标记:templatetag;使用`{%load verbatim from compat%}`导入。1.4:不允许特定的closing标记,例如`{%endverbatim myblock%}`,并且不保留标记内的空白。


资源和引用

\resources
*https://github.com/ubernostrum/django compat lint
*https://docs.djangoproject.com/en/dev/misc/api stability/
*https://docs.djangoproject.com/en/dev/topics/python3/
*http://andrewsforge.com/presentation/upgrading-django-to-17/

https://github.com/lukaszb/django-guardian/blob/devel/guardian/compat.py
-[x]https://github.com/evonove/django-oauth-toolkit/blob/master/oauth2-provider/compat.py
-[x]https://github.com/toastdriven/django-tastype/blob/master/tastype/compat.py
-[x]https://github.com/tomchristie/django-rest-framework/blob/master/rest-framework/compat.py
-[]TOdo:minvaluevalidator、maxvaluevalidator等。(还包括其他相关位)django 1.8
-[x]https://gist.github.com/theskumar/ff8de60ff6a33bdacaa8
-[x]https://github.com/evonove/django oauth toolkit/blob/master/oauth2-provider/templatetags/compat.py
-[]https://github.com/kennethreitz/requests/blob/master/requests/compat.py
-[]https://github.com/mitsuhiko/jinja2/blob/master/jinja2/_compat.py
-[]https://github.com/jaraco/setuptools/blob/master/setuptools/compat.py
-[]https://github.com/mariocesar/sorl-thumbnail/blob/master/sorl/thumbnail/compat.py







<
年4月2017/04/07
*更新django 1.10的现有补丁




/2016/08/02
*更新django 1.10的现有补丁






<

<
<
<
<
<<
<<
<
<<
*添加``获取当前的网站和管理员的网站和管理员的个人信息



\ 35 35/05/11
*在python 3.4下安装软件包时的错误修复



\ 35/11/11/11/12
>*backport new br/>*backport new新的render _-to 装载机
*添加关闭连接
*改善JsonResponse Backport到Django 1.4
*添加导入模块测试,获取模型并添加到内置项
*在1.10中预期将Django.core.urlResolver重命名为Django.urls
*避免设置中出现警告。py

2015/11/11

*1.9兼容性对于具有以下更改的现有对象:
*``add_to_builtins``对于django>;=1.9
*``genericforeignkey`被移动到'compat.models``对于django>;=1.9

2015/07/15

``向内置项添加``再次放弃支持(请参见[29](https://github.com/arteria/django compat/issues/29)

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

推荐PyPI第三方库


热门话题
具有未知数量条件的java If语句   java如何在Spark中使用两个“条件”进行过滤?   雅加达ee为ColdFusion提供的最佳Java ee服务器   java如何在jersey的MessageBodyWriter方法中获取writeTo中的anotations值?   java从脚本文件调用jar文件中的函数   java在执行insert语句后,如何获得id值为的语句?   在OS X上设置OpenCV Java绑定   java使用for循环遍历数组x。以字符串形式返回x的元素,其中每个元素由一个空格分隔   ApacheiClientBuilder为Algolia Java创建的APIClient是线程安全的吗?   java在DFS/BFS算法中获取邻居时避免内存分配?   java使用AES/CBC/PKCS5P加密大文件(2GB)   允许保存/加载列布局的Java DB网格组件   队列大小为1的java Spring调度   跑步带有Java参数的exe   java正则表达式将所有“<”和“>”标记替换为“&lt;”及“&gt;”在<<![CDATA]>标签?   java何时同步变量?