Django弃用时间表

本文档根据deprecation policy概述了各种Django片断在被弃用之后将以不兼容的方式被删除或更改。 有关每个项目的更多细节通常可以在之前的两个版本的发行说明中找到。

3.0 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 2.0 release notes

  • django.db.backends.postgresql_psycopg2模块将被删除。
  • django.shortcuts.render_to_response() will be removed.
  • DEFAULT_CONTENT_TYPE设置将被删除。
  • HttpRequest.xreadlines() will be removed.
  • 支持Field.from_db_value()Expression.convert_value()context参数将被移除。
  • QuerySet.earliest()latest()field_name关键字参数将被删除。

2.1 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.11 release notes

  • contrib.auth.views.login(), logout(), password_change(), password_change_done(), password_reset(), password_reset_done(), password_reset_confirm(), and password_reset_complete() will be removed.
  • contrib.auth.views.logout_then_login()extra_context参数将被删除。
  • django.test.runner.setup_databases() will be removed.
  • django.utils.translation.string_concat() will be removed.
  • django.core.cache.backends.memcached.PyLibMCCache will no longer support passing pylibmc behavior settings as top-level attributes of OPTIONS.
  • django.utils.http.is_safe_url()host参数将被删除。
  • 在呈现{% 包含 %}模板标记时引发异常的沉默将被删除。
  • DatabaseIntrospection.get_indexes() will be removed.
  • 身份验证后端的authenticate()方法将要求request作为第一个位置参数。
  • django.db.models.permalink()修饰器将被删除。
  • USE_ETAGS设置将被删除。 CommonMiddleware and django.utils.cache.patch_response_headers() will no longer set ETags.
  • Model._meta.has_auto_field属性将被删除。
  • url()iLmsu#的正则表达式组的支持将被删除。
  • 对不带renderer参数的Widget.render()方法的支持将被删除。

2.0 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.9 release notes

  • django.dispatch.signals.Signal.disconnect()weak参数将被删除。
  • django.db.backends.base.BaseDatabaseOperations.check_aggregate_support() will be removed.
  • django.forms.extras包将被删除。
  • assignment_tag助手将被删除。
  • assertsRedirectshost参数将被删除。 当路径相同时,允许绝对URL被视为等于相对路径的兼容性层也将被移除。
  • Field.rel will be removed.
  • Field.remote_field.to attribute will be removed.
  • ForeignKeyOneToOneFieldon_delete参数将是必需的。
  • django.db.models.fields.add_lazy_relation()将被删除。
  • 当启用时区支持时,当这些值作为参数传递给在ORM外部执行的SQL查询时,不支持时区的数据库后端不会将知晓的日期时间转换为UTC中的天真值。与cursor.execute()
  • django.contrib.auth.tests.utils.skipIfCustomUser()修饰符将被删除。
  • GeoManagerGeoQuerySet类将被删除。
  • django.contrib.gis.geoip模块将被删除。
  • 模板加载器的supports_recursion检查将从以下位置移除:
    • django.template.engine.Engine.find_template()
    • django.template.loader_tags.ExtendsNode.find_template()
    • django.template.loaders.base.Loader.supports_recursion()
    • django.template.loaders.cached.Loader.supports_recursion()
  • load_template()load_template_sources()模板加载器方法将被删除。
  • 模板加载器的template_dirs参数将被删除:
    • django.template.loaders.base.Loader.get_template()
    • django.template.loaders.cached.Loader.cache_key()
    • django.template.loaders.cached.Loader.get_template()
    • django.template.loaders.cached.Loader.get_template_sources()
    • django.template.loaders.filesystem.Loader.get_template_sources()
  • django.template.loaders.base.Loader.__call__()方法将被删除。
  • 使用单个位置参数支持自定义错误视图将被丢弃。
  • django.utils.feedgenerator.Atom1Feeddjango.utils.feedgenerator.RssFeedmime_type属性将被移除,以支持content_type
  • django.conf.urls.include()app_name参数将被删除。
  • 支持传递一个三元组作为第一个参数include()将被移除。
  • 支持设置一个没有应用程序名称空间的URL实例名称空间将被删除。
  • Field._get_val_from_obj()将被移除以支持Field.value_from_object()
  • django.template.loaders.eggs.Loader will be removed.
  • contrib.auth视图的current_app参数将被删除。
  • SimpleTestCase.assertRaisesMessage()callable_obj关键字参数将被删除。
  • ModelAdmin方法的allow_tags属性的支持将被删除。
  • SyndicationFeed.add_item()enclosure关键字参数将被删除。
  • 将移除django.template.base.Origindjango.template.loader.LoaderOrigindjango.template.base.StringOrigin别名。

有关这些更改的更多详细信息,请参阅Django 1.10 release notes

  • makemigrations - exit选项将被删除。
  • 支持直接分配到反向外键或多对多关系将被删除。
  • 将移除django.contrib.gis.geos.GEOSGeometryget_srid()set_srid()方法。
  • The get_x(), set_x(), get_y(), set_y(), get_z(), and set_z() methods of django.contrib.gis.geos.Point will be removed.
  • 将移除django.contrib.gis.geos.Pointget_coords()set_coords()方法。
  • django.contrib.gis.geos.MultiPolygoncascaded_union属性将被删除。
  • django.utils.functional.allow_lazy() will be removed.
  • shell - plain选项将被删除。
  • django.core.urlresolvers模块将被删除。
  • 模型CommaSeparatedIntegerField将被删除。 存根字段将保留与历史迁移的兼容性。
  • 对模板Context.has_key()方法的支持将被删除。
  • 支持django.core.files.storage.Storage.accessed_time()created_time()modified_time()方法将被移除。
  • 当设置Meta.default_related_name时,使用模型名称支持查询查询将被删除。
  • __search查询和DatabaseOperations.fulltext_search_sql()方法将被删除。
  • 用于支持没有_apply_rel_filters()方法的自定义相关管理器类的填充将被删除。
  • 将不再支持使用User.is_authenticated()User.is_anonymous()作为方法。
  • Model._meta的私有属性virtual_fields将被删除。
  • The private keyword arguments virtual_only in Field.contribute_to_class() and virtual in Model._meta.add_field() will be removed.
  • The javascript_catalog() and json_catalog() views will be removed.
  • django.contrib.gis.utils.precision_wkt()函数将被删除。
  • 在多表继承中,OneToOneFieldparent_link的隐式提升将被删除。
  • Widget._format_value()的支持将被删除。
  • FileField方法get_directory_name()get_filename()将被删除。
  • The mark_for_escaping() function and the classes it uses: EscapeData, EscapeBytes, EscapeText, EscapeString, and EscapeUnicode will be removed.
  • escape过滤器将更改为使用django.utils.html.conditional_escape()
  • Manager.use_for_related_fields will be removed.
  • Model Manager继承将遵循MRO继承规则,并且Meta.manager_inheritance_from_future选择加入此行为将被删除。
  • 支持使用settings.MIDDLEWARE_CLASSES的旧式中间件将被删除。

1.10 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.8 release notes

  • 直接调用SQLCompiler作为调用其quote_name_unless_alias方法的别名的支持将被删除。
  • cyclefirstof模板标签将从future模板标签库中移除(在1.6 / 1.7弃用期间使用)。
  • django.conf.urls.patterns() will be removed.
  • django.conf.urls.i18n.i18n_patterns()prefix参数的支持将被删除。
  • SimpleTestCase.urls将被删除。
  • for模板标签使用不正确的解包值将会引发异常,而不是自动失败。
  • 使用虚线Python路径反向URL的功能将被删除。
  • 对于LOGIN_URLLOGIN_REDIRECT_URL设置使用虚线Python路径的功能将被删除。
  • 对于自定义管理命令(argparse取代),将会删除对optparse的支持。
  • django.core.management.NoArgsCommand将被删除。 改为使用BaseCommand,默认情况下不带任何参数。
  • django.core.context_processors module will be removed.
  • django.db.models.sql.aggregates module will be removed.
  • django.contrib.gis.db.models.sql.aggregates模块将被删除。
  • 以下方法和属性的django.db.sql.query.Query将被删除:
    • 属性:aggregatesaggregate_select
    • 方法:add_aggregateset_aggregate_maskappend_aggregate_mask
  • django.template.resolve_variable will be removed.
  • 以下私有API将从django.db.models.options.OptionsModel._meta)中删除:
    • get_field_by_name()
    • get_all_field_names()
    • get_fields_with_model()
    • get_concrete_fields_with_model()
    • get_m2m_with_model()
    • get_all_related_objects()
    • get_all_related_objects_with_model()
    • get_all_related_many_to_many_objects()
    • get_all_related_m2m_objects_with_model()
  • django.forms.RegexFielderror_message参数将被删除。
  • unordered_list过滤器将不再支持旧的样式列表。
  • url()的字符串view参数的支持将被删除。
  • 向后兼容的shim将把django.forms.Form._has_changed()重新命名为has_changed()
  • 将删除removetags模板过滤器。
  • 将移除django.utils.html中的remove_tags()strip_entities()函数。
  • The is_admin_site argument to django.contrib.auth.views.password_reset() will be removed.
  • django.db.models.field.subclassing.SubfieldBase will be removed.
  • django.utils.checksums will be removed; its functionality is included in django-localflavor 1.1+.
  • django.contrib.admin.helpers.InlineAdminForm中的original_content_type_id属性将被删除。
  • The backwards compatibility shim to allow FormMixin.get_form() to be defined with no default value for its form_class argument will be removed.
  • 以下设置将被删除:
    • ALLOWED_INCLUDE_ROOTS
    • TEMPLATE_CONTEXT_PROCESSORS
    • TEMPLATE_DEBUG
    • TEMPLATE_DIRS
    • TEMPLATE_LOADERS
    • TEMPLATE_STRING_IF_INVALID
  • 向后兼容性别名django.template.loader.BaseLoader将被删除。
  • Django template objects returned by get_template() and select_template() won’t accept a Context in their render() method anymore.
  • Template response APIs will enforce the use of dict and backend-dependent template objects instead of Context and Template respectively.
  • 以下函数和类的current_app参数将被删除:
    • django.shortcuts.render()
    • 一个django.template.Context()
    • django.template.RequestContext()
    • django.template.response.TemplateResponse()
  • 以下函数的dictionarycontext_instance参数将被删除:
    • django.shortcuts.render()
    • django.shortcuts.render_to_response()
    • django.template.loader.render_to_string()
  • 以下功能的dirs参数将被删除:
    • django.template.loader.get_template()
    • django.template.loader.select_template()
    • django.shortcuts.render()
    • django.shortcuts.render_to_response()
  • 无论'django.contrib.auth.middleware.SessionAuthenticationMiddleware'是否位于MIDDLEWARE_CLASSES中,都将启用会话验证。
  • 私人属性django.db.models.Field.related将被移除。
  • migrate管理命令的--list选项将被删除。
  • ssi模板标签将被删除。
  • Support for the = comparison operator in the if template tag will be removed.
  • 向后兼容性shims允许定义Storage.get_available_name()Storage.save()而不用max_length参数。
  • ModelFormMixin.success_url中的传统%(<foo>)s语法的支持将被删除。
  • GeoQuerySet aggregate methods collect(), extent(), extent3d(), make_line(), and unionagg() will be removed.
  • 能够在创建内容类型实例时指定ContentType.name将被删除。
  • allow_migrate的旧签名的支持将被删除。 It changed from allow_migrate(self, db, model) to allow_migrate(self, db, app_label, model_name=None, **hints).
  • 支持使用逗号分隔参数的{% cycle %}的语法将被删除。
  • 当给定一个无效的分隔符时,Signer发出的警告将成为一个例外。

1.9 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.7 release notes

  • django.utils.dictconfig will be removed.
  • django.utils.importlib will be removed.
  • django.utils.tzinfo will be removed.
  • django.utils.unittest will be removed.
  • syncdb命令将被删除。
  • django.db.models.signals.pre_syncdb and django.db.models.signals.post_syncdb will be removed.
  • allow_syncdb on database routers will no longer automatically become allow_migrate.
  • 在没有迁移的情况下自动同步应用程序将被删除。 除非您将--run-syncdb选项传递给migrate,否则迁移对所有应用程序都是强制性的。
  • 没有迁移的应用程序的SQL管理命令sqlsqlallsqlclearsqldropindexessqlindexes,将被删除。
  • 支持自动加载initial_data灯具和初始SQL数据将被删除。
  • 所有模型都需要在已安装的应用程序中定义,或者声明一个明确的app_label 而且,在加载应用程序之前,不可能导入它们。 特别是,不可能在应用程序的根包中导入模型。
  • 模型和表单IPAddressField将被删除。 存根字段将保留与历史迁移的兼容性。
  • AppCommand.handle_app() will no longer be supported.
  • RequestSiteget_current_site()将不再可以从django.contrib.sites.models导入。
  • 通过runfcgi管理命令的FastCGI支持将被删除。 请使用WSGI部署您的项目。
  • django.utils.datastructures.SortedDict will be removed. 改为使用Python标准库中的collections.OrderedDict
  • ModelAdmin.declared_fieldsets will be removed.
  • Django代码库中的util.py实例已重命名为utils.py,以统一所有util和utils引用。 提供向后兼容性的模块将被删除:
    • django.contrib.admin.util
    • django.contrib.gis.db.backends.util
    • django.db.backends.util
    • django.forms.util
  • ModelAdmin.get_formsets will be removed.
  • 引入了将BaseMemcachedCache._get_memcache_timeout()方法重命名为get_backend_timeout()的向后兼容性shim将被删除。
  • dumpdata--natural-n选项将被删除。
  • serializers.serialize()use_natural_keys参数将被删除。
  • 私人API django.forms.forms.get_declared_fields()将被删除。
  • The ability to use a SplitDateTimeWidget with DateTimeField will be removed.
  • WSGIRequest.REQUEST属性将被删除。
  • django.utils.datastructures.MergeDict将被删除。
  • zh-cnzh-tw语言代码将被删除,并由zh-hanszh-hant语言代码。
  • 内部的django.utils.functional.memoize将被删除。
  • django.core.cache.get_cache will be removed. 将适当的条目添加到CACHES,然后改用django.core.cache.caches
  • django.db.models.loading will be removed.
  • 将可调参数传递给查询集将不再可能。
  • BaseCommand.requires_model_validation将被移除以支持requires_system_checks 管理验证器将被管理员检查取代。
  • ModelAdmin.validator_classdefault_validator_class属性将被删除。
  • ModelAdmin.validate() will be removed.
  • django.db.backends.DatabaseValidation.validate_field将被移除以支持check_field方法。
  • validate管理命令将被删除。
  • django.utils.module_loading.import_by_path将被移除以支持django.utils.module_loading.import_string
  • ssi and url template tags will be removed from the future template tag library (used during the 1.3/1.4 deprecation period).
  • django.utils.text.javascript_quote will be removed.
  • 数据库测试设置作为数据库设置中的独立条目,以TEST_为前缀,将不再受支持。
  • ModelChoiceFieldModelMultipleChoiceFieldcache_choices选项将被删除。
  • RedirectView.permanent属性的默认值将从True更改为False
  • django.contrib.sitemaps.FlatPageSitemap将被移除以支持django.contrib.flatpages.sitemaps.FlatPageSitemap
  • 私人API django.test.utils.TestTemplateLoader将被移除。
  • django.contrib.contenttypes.generic模块将被删除。
  • Private APIs django.db.models.sql.where.WhereNode.make_atom() and django.db.models.sql.where.Constraint will be removed.

1.8 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.6 release notes

  • django.contrib.comments will be removed.
  • 以下事务管理API将被删除:
    • TransactionMiddleware
    • the decorators and context managers autocommit, commit_on_success, and commit_manually, defined in django.db.transaction,
    • django.db.transaction中定义的函数commit_unless_managedrollback_unless_managed
    • the TRANSACTIONS_MANAGED setting.
  • cyclefirstof模板标签会自动转义它们的参数。 在1.6和1.7中,这种行为由future模板标签库中的这些标签的版本提供。
  • SEND_BROKEN_LINK_EMAILS设置将被删除。 Add the django.middleware.common.BrokenLinkEmailsMiddleware middleware to your MIDDLEWARE_CLASSES setting instead.
  • django.middleware.doc.XViewMiddleware will be removed. 改为使用django.contrib.admindocs.middleware.XViewMiddleware
  • Model._meta.module_name已重命名为model_name
  • 删除向后兼容的垫片,以重新命名get_query_set和类似的queryset方法。 This affects the following classes: BaseModelAdmin, ChangeList, BaseCommentNode, GenericForeignKey, Manager, SingleRelatedObjectDescriptor and ReverseSingleRelatedObjectDescriptor.
  • 删除向后兼容的垫片,以重新命名属性ChangeList.root_query_setChangeList.query_set
  • django.views.defaults.shortcut will be removed, as part of the goal of removing all django.contrib references from the core Django codebase. 而是使用django.contrib.contenttypes.views.shortcut django.conf.urls.shortcut will also be removed.
  • 对Python成像库(PIL)模块的支持将被删除,因为它不再被主动维护,并且不适用于Python 3。 You are advised to install Pillow, which should be used instead.
  • 以下私有API将被删除:
    • django.db.backend
    • django.db.close_connection()
    • django.db.backends.creation.BaseDatabaseCreation.set_autocommit()
    • django.db.transaction.is_managed()
    • django.db.transaction.managed()
  • django.forms.widgets.RadioInput将被移除以支持django.forms.widgets.RadioChoiceInput
  • 模块django.test.simple和类django.test.simple.DjangoTestSuiteRunner将被删除。 而是使用django.test.runner.DiscoverRunner
  • 模块django.test._doctest将被删除。 请使用Python标准库中的doctest模块。
  • CACHE_MIDDLEWARE_ANONYMOUS_ONLY设置将被删除。
  • 使用硬编码 按住Mac上的“控制”或“命令”,选择多个。 字符串覆盖或附加到用户提供的help_text中,ManyToMany模型字段的表单将不会由模型或表单层的Django执行。
  • Model._meta.get_(add|change|delete)_permission方法将被删除。
  • 会话密钥django_language将不再被读取以向后兼容。
  • Geographic Sitemaps will be removed (django.contrib.gis.sitemaps.views.index and django.contrib.gis.sitemaps.views.sitemap).
  • django.utils.html.fix_ampersands, the fix_ampersands template filter and django.utils.html.clean_html will be removed following an accelerated deprecation.

1.7 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.5 release notes

  • 模块django.utils.simplejson将被删除。 标准库提供了json来替代。
  • django.utils.itercompat.product功能将被删除。 应该使用Python内置版本。
  • 自动更正INSTALLED_APPS和TEMPLATE_DIRS设置时,它们被指定为纯字符串而不是元组将被删除并引发异常。
  • HttpResponseSimpleTemplateResponseTemplateResponse__init__方法的mimetype将被删除。 应该使用content_type来代替。 这也适用于render_to_response()快捷方式和站点地图视图index()sitemap()
  • 当使用迭代器实例化HttpResponse时,或者content设置为迭代器时,该迭代器将立即被消耗。
  • 用户模型上的AUTH_PROFILE_MODULE设置和get_profile()方法将被删除。
  • The cleanup management command will be removed. 它被clearsessions取代。
  • 这个daily_cleanup.py脚本将被删除。
  • depth关键字参数将从select_related()中移除。
  • The undocumented get_warnings_state()/restore_warnings_state() functions from django.test.utils and the save_warnings_state()/ restore_warnings_state() django.test。*测试用例 方法已被弃用。 相反,使用可从Python 2.6开始的warnings.catch_warnings上下文管理器。
  • AuthenticationForm中未记录的check_for_test_cookie方法将在加速弃用后被删除。 子类化这个表单的用户应该移除对这个方法的调用,而是确保他们的auth相关的视图是CSRF保护的,这确保了cookie被启用。
  • 支持base36编码的用户ID(django.contrib.auth.views.password_reset_confirm_uidb36)的django.contrib.auth.views.password_reset_confirm()版本将被删除。 如果您的网站在运行Django 1.6的时间超过了PASSWORD_RESET_TIMEOUT_DAYS,则此更改将不起作用。 如果没有,那么升级到Django 1.7之前生成的任何密码重置链接在升级后将不起作用。
  • django.utils.encoding.StrAndUnicode混音将被删除。 定义一个__str__方法,然后应用python_2_unicode_compatible()装饰器。

1.6 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.4 release notes

  • django.contrib.databrowse will be removed.
  • django.contrib.localflavor will be removed following an accelerated deprecation.
  • django.contrib.markup will be removed following an accelerated deprecation.
  • 兼容性模块django.utils.copycompatdjango.utils.hashcompat以及函数django.utils.itercompat.alldjango.utils.itercompat.any将被删除。 应该使用Python内置版本。
  • csrf_response_exemptcsrf_view_exempt装饰器将被删除。 由于1.4 csrf_response_exempt是一个no-op(它返回相同的函数),而csrf_view_exempt已经是django.views.decorators.csrf.csrf_exempt,应该用它来代替它。
  • Django 1.3中的django.core.cache.backends.memcached.CacheClass后端被分成了两部分,以引入对PyLibMC的支持。 历史CacheClass将被移除,以支持django.core.cache.backends.memcached.MemcachedCache
  • 以英国为前缀的django.contrib.localflavor.uk的对象只能通过它们的GB前缀名称(GB是英国的ISO 3166代码)访问。
  • 在1.4版本中,IGNORABLE_404_STARTSIGNORABLE_404_ENDS设置已经被IGNORABLE_404_URLS取代。 他们将被删除。
  • 表单向导已被重构为在1.4中使用基于类的视图和可插入的后端。 之前的实现将被删除。
  • 传统的调用方式cache_page()将被删除。
  • 向后兼容的shim自动添加一个调试错误的过滤器到'mail_admins'日志处理程序将被删除。 The LOGGING setting should include this filter explicitly if it is desired.
  • The builtin truncation functions django.utils.text.truncate_words() and django.utils.text.truncate_html_words() will be removed in favor of the django.utils.text.Truncator class.
  • The django.contrib.gis.geoip.GeoIP class was moved to django.contrib.gis.geoip in 1.4 – the shortcut in django.contrib.gis.utils will be removed.
  • django.conf.urls.defaults will be removed. The functions include(), patterns(), and url(), plus handler404 and handler500 are now available through django.conf.urls.
  • setup_environ()execute_manager()将从django.core.management中删除。 这也意味着manage.py文件的旧(pre-1.4)风格将不再起作用。
  • is_safeneeds_autoescape标志设置为模板过滤器功能的属性将不再受支持。
  • 1.4中的属性HttpRequest.raw_post_data被重命名为HttpRequest.body 向后兼容性将被删除 - HttpRequest.raw_post_data将不再起作用。
  • ModelAdmin.response_add()post_url_continue参数的值必须是None(重定向到新创建的对象的编辑页面)或预格式化的网址。 字符串格式,如以前的默认'../%s/',将不再被接受。

1.5 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.3 release notes

  • Starting Django without a SECRET_KEY will result in an exception rather than a DeprecationWarning. (这是从通常的弃用路径加速;请参阅Django 1.4 release notes。)
  • mod_python请求处理程序将被删除。 应该使用mod_wsgi处理程序。
  • test client返回的django.test.client.Response对象上的template属性将被删除。 应该使用templates属性。
  • django.test.simple.DjangoTestRunner将被删除。 而是使用unittest本地类。 django.test.simple.DjangoTestRunner(包括fail-fast和Ctrl-C测试终止)的功能目前可以由unittest-native TextTestRunner提供。
  • 未公开的函数django.contrib.formtools.utils.security_hash将被删除,而是使用django.contrib.formtools.utils.form_hmac
  • 基于功能的通用视图模块将被移除,以支持它们的基于类的等价物,在here中概述。
  • django.core.servers.basehttp.AdminMediaHandler将被删除。 在它的地方使用django.contrib.staticfiles.handlers.StaticFilesHandler
  • 模板标签库adminmedia和模板标签{% admin_media_prefix %}被移除以支持通用的静态文件处理。 (这比通常的弃用路径更快;请参阅Django 1.4 release notes。)
  • urlssi模板标签将被修改,以便每个标签的第一个参数是一个模板变量,而不是一个隐含的字符串。 在1.4中,这种行为由future模板标签库中的标签版本提供。
  • resetsqlreset管理命令将被删除。
  • 身份验证后端将需要支持将非活动用户传递给处理权限的所有方法。 supports_inactive_user属性将不再被检查,并且可以从自定义后端中删除。
  • transform() will raise a GEOSException when called on a geometry with no SRID value.
  • django.http.CompatCookie will be removed in favor of django.http.SimpleCookie.
  • django.core.context_processors.PermWrapper and django.core.context_processors.PermLookupDict will be removed in favor of the corresponding django.contrib.auth.context_processors.PermWrapper and django.contrib.auth.context_processors.PermLookupDict, respectively.
  • 需要使用MEDIA_URLSTATIC_URL设置以结尾斜线结尾,以确保在模板中合并路径的方式一致。
  • django.db.models.fields.URLField.verify_exists will be removed. 由于难以处理的安全性和性能问题,该功能在1.3.1中被弃用,并且会稍微加速弃用时间表。
  • 位于所谓项目路径下的翻译将在运行时执行的翻译构建过程中被忽略。 The LOCALE_PATHS setting can be used for the same task by including the filesystem path to a locale directory containing non-app-specific translations in its value.
  • Markup contrib应用程序将不再支持2.1之前版本的Python-Markdown库。 由于这是一个安全相关的弃用,所以使用了一个加速的时间线。
  • CACHE_BACKEND设置将被删除。 缓存后端应该在CACHES设置中指定。

1.4 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.2 release notes

  • CsrfResponseMiddleware and CsrfMiddleware will be removed. 在表单中使用{% csrf_token %}模板标记来启用CSRF保护。 CsrfViewMiddleware remains and is enabled by default.
  • 旧的CSRF功能导入(django.contrib.csrf。*),它被移动到核心在1.2,将被删除。
  • django.contrib.gis.db.backend模块将被删除,以支持特定的后端。
  • SMTPConnection will be removed in favor of a generic Email backend API.
  • 数据库后端上的许多SQL生成函数将被删除。
  • 使用DATABASE_*系列顶级设置定义数据库连接的能力将被删除。
  • 使用简写符号指定数据库后端(即sqlite3而不是django.db.backends.sqlite3)的功能将被删除。
  • get_db_prep_saveget_db_prep_valueget_db_prep_lookup方法将不得不支持多个数据库。
  • Message模型(在django.contrib.auth中),其在User模型(user.message_set >)和相关方法(user.message_set.create()user.get_and_delete_messages())将被删除。 应该使用messages framework来代替。 由auth上下文处理器返回的相关的messages变量​​也将被删除。 请注意,这意味着管理应用程序将取决于消息上下文处理器。
  • 身份验证后端将需要支持obj参数进行权限检查。 The supports_object_permissions attribute will no longer be checked and can be removed from custom backends.
  • 身份验证后端将需要支持将AnonymousUser类传递给处理权限的所有方法。 supports_anonymous_user变量​​将不再被检查,可以从自定义后端中删除。
  • 为了向后兼容,指定可调用模板加载器而不是Loader类的能力将被移除,就像内置模板加载器所包含的load_template_source函数一样。
  • django.utils.translation.get_date_formats()django.utils.translation.get_partial_date_formats() 这些功能将被删除;使用区域识别的django.utils.formats.get_format()来获取适当的格式。
  • django.forms.fields中,常量:DEFAULT_DATE_INPUT_FORMATSDEFAULT_TIME_INPUT_FORMATSDEFAULT_DATETIME_INPUT_FORMATS将被删除。 使用django.utils.formats.get_format()获取适当的格式。
  • 使用基于函数的测试运行器的能力将与django.test.simple.run_tests()测试运行器一起被删除。
  • 将会删除django.contrib.syndication中的views.feed()视图和feeds.Feed类。 应该使用基于类的视图views.Feed来代替。
  • django.core.context_processors.auth 此版本将在django.contrib.auth.context_processors.auth中删除旧方法,以支持新方法。
  • The postgresql database backend will be removed, use the postgresql_psycopg2 backend instead.
  • no语言代码将被删除,并被替换为nb语言代码。
  • 身份验证后端将需要定义布尔属性supports_inactive_user,直到版本1.5将假定所有后端将处理不活动的用户。
  • django.db.models.fields.XMLField will be removed. 这是作为1.3版本的一部分而被弃用的。 自从删除oldforms以来,该字段没有执行超出简单TextField的任何角色,因此使用了加速弃用计划。 XMLField的所有用法都可以用TextField替换。
  • The undocumented mixin parameter to the open() method of django.core.files.storage.Storage (and subclasses) will be removed.

1.3 ¶ T0>

有关这些更改的更多详细信息,请参阅Django 1.1 release notes

  • AdminSite.root() 这种连接管理网址的方法将被删除,以包含admin.site.urls
  • 身份验证后端需要定义布尔属性supports_object_permissionssupports_anonymous_user,直到版本1.4,此时将假定所有后端都将支持这些选项。