Django Deprecation Timeline

本文档概述了按照deprecation policy,按照向后不兼容的方式删除或更改各种Django部分(根据其弃用情况)。 有关每个项目的更多详细信息通常可以在两个版本的发行说明中找到。

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()password_reset_complete()将被删除。
  • contrib.auth.views.logout_then_login()extra_context参数将被删除。
  • django.test.runner.setup_databases()将被删除。
  • django.utils.translation.string_concat()将被删除。
  • django.core.cache.backends.memcached.PyLibMCCache将不再支持将pylibmc行为设置作为OPTIONS的顶级属性传递。
  • django.utils.http.is_safe_url()host参数将被删除。
  • {% 包含 %}模板标签的情况下,异常的沉默将被删除。
  • DatabaseIntrospection.get_indexes()将被删除。
  • 认证后端的authenticate()方法将需要request作为第一个位置参数。
  • django.db.models.permalink()装饰器将被删除。
  • USE_ETAGS设置将被删除。 CommonMiddlewaredjango.utils.cache.patch_response_headers()将不再设置ETag。
  • Model._meta.has_auto_field属性将被删除。
  • url()中支持iLmsu#的正则表达式组将被删除。
  • 支持Widget.render()方法,而不会使用renderer参数。

2.0

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

  • django.dispatch.signals.Signal.disconnect()weak参数将被删除。
  • django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()将被删除。
  • django.forms.extras包将被删除。
  • assignment_tag帮助器将被删除。
  • assertsRedirectshost参数将被删除。 当路径相同时,允许绝对URL被认为等于相对值的兼容性层也将被删除。
  • Field.rel将被删除。
  • Field.remote_field.to属性将被删除。
  • 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
  • include()app_name参数将被删除。
  • 作为第一个参数传递给include()的三元组的支持将被删除。
  • 支持设置没有应用程序命名空间的URL实例命名空间将被删除。
  • Field._get_val_from_obj()将被删除,有利于Field.value_from_object()
  • django.template.loaders.eggs.Loader将被删除。
  • contrib.auth视图的current_app参数将被删除。
  • The callable_obj keyword argument to SimpleTestCase.assertRaisesMessage() will be removed.
  • 支持ModelAdmin方法上的allow_tags属性将被删除。
  • The enclosure keyword argument to SyndicationFeed.add_item() will be removed.
  • django.template.loader.LoaderOrigindjango.template.base.StringOrigin别名为django.template.base.Origin将被删除。

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

  • makemigrations - 退出选项将被删除。
  • 直接分配到反向外键或多对多关系的支持将被删除。
  • 将删除django.contrib.gis.geos.GEOSGeometryget_srid()set_srid()方法。
  • get_x()set_x()get_y()set_y()get_z()set_z() django.contrib.gis.geos.Point的方法将被删除。
  • django.contrib.gis.geos.Pointget_coords()set_coords()方法将被删除。
  • django.contrib.gis.geos.MultiPolygoncascaded_union属性将被删除。
  • django.utils.functional.allow_lazy()将被删除。
  • 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将被删除。
  • 将在Model._meta.add_field()中的Field.contribute_to_class()virtual中的私有关键字参数virtual_only被删除。
  • javascript_catalog()json_catalog()视图将被删除。
  • 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将被删除。
  • 型号Manager继承将遵循MRO继承规则,Meta.manager_inheritance_from_future选择加入此行为将被删除。
  • 使用settings.MIDDLEWARE_CLASSES的旧式中间件的支持将被删除。

1.10 ¶ T0>

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

  • 支持直接调用quote_name_unless_alias作为调用其SQLCompiler方法的别名将被删除。
  • firstofcycle模板标记将从future模板标记库中删除(在1.6 / 1.7弃用期间使用)。
  • django.conf.urls.patterns()将被移除。
  • 支持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模块将被删除。
  • django.db.models.sql.aggregates模块将被删除。
  • django.contrib.gis.db.models.sql.aggregates模块将被删除。
  • 将删除django.db.sql.query.Query的以下方法和属性:
    • 属性:aggregate_selectaggregates
    • 方法:set_aggregate_maskadd_aggregateappend_aggregate_mask
  • django.template.resolve_variable将被移除。
  • 以下私有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参数将被删除。
  • 将向后兼容的将has_changed()重命名为django.forms.Form._has_changed()的垫片将被删除。
  • removetags模板过滤器将被删除。
  • strip_entities()中的remove_tags()django.utils.html函数将被删除。
  • django.contrib.auth.views.password_reset()is_admin_site参数将被删除。
  • django.db.models.field.subclassing.SubfieldBase将被删除。
  • django.utils.checksums将被删除;其功能包含在django-localflavor 1.1+中。
  • django.contrib.admin.helpers.InlineAdminForm上的original_content_type_id属性将被删除。
  • 向后兼容性垫片允许form_class被定义为没有默认值的FormMixin.get_form()参数将被删除。
  • 将删除以下设置:
    • 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将分别强制使用dict和后端相关的模板对象,而不是ContextTemplate
  • 将删除以下函数和类的current_app参数:
    • django.shortcuts.render()
    • 一个django.template.Context()
    • django.template.RequestContext()
    • django.template.response.TemplateResponse()
  • 将删除以下函数的context_instancedictionary参数:
    • 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()
  • 无论MIDDLEWARE_CLASSES是否在'django.contrib.auth.middleware.SessionAuthenticationMiddleware'中,都将启用会话验证。
  • 专用属性django.db.models.Field.related将被删除。
  • migrate管理命令的--list选项将被删除。
  • 将删除ssi模板标记。
  • 将删除if模板标记中=比较运算符的支持。
  • 向后兼容性垫片允许在不带Storage.save()参数的情况下定义Storage.get_available_name()max_length
  • 将删除对ModelFormMixin.success_url中的旧版%(<foo>)s语法的支持。
  • GeoQuerySet aggregate methods collect(), extent(), extent3d(), make_line(), and unionagg() will be removed.
  • 在创建内容类型实例时指定ContentType.name的功能将被删除。
  • 将删除对allow_migrate的旧签名的支持。 它从allow_migrate(self, db, 模型)变为allow_migrate(self, db, app_label, model_name = None, ** hints)
  • 支持使用逗号分隔参数的{% 循环 的语法将被删除。
  • 给予无效分隔符时发出Signer的警告将成为异常。

1.9

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

  • django.utils.dictconfig将被删除。
  • django.utils.importlib将被移除。
  • django.utils.tzinfo将被删除。
  • django.utils.unittest将被删除。
  • 将删除syncdb命令。
  • django.db.models.signals.post_syncdbdjango.db.models.signals.pre_syncdb将被删除。
  • 数据库路由器上的allow_migrate将不再自动变为allow_syncdb
  • 自动同步应用而不进行迁移将被删除。 迁移将成为所有应用程序的强制,除非您将--run-syncdb选项传递到migrate
  • SQL迁移管理命令sqlsqlallsqlclearsqldropindexessqlindexes,将被删除。
  • 支持自动加载initial_data夹具和初始SQL数据将被删除。
  • 所有模型都需要在已安装的应用程序中定义或声明显式app_label 此外,在加载应用程序之前不能导入它们。 特别是,不可能在其应用程序的根包中导入模型。
  • 模型和形式IPAddressField将被删除。 将保留存根字段以与历史迁移兼容。
  • AppCommand.handle_app()将不再受支持。
  • get_current_site()RequestSite将无法从django.contrib.sites.models导入。
  • 通过runfcgi管理命令的FastCGI支持将被删除。 请使用WSGI部署您的项目。
  • django.utils.datastructures.SortedDict将被删除。 使用Python标准库中的collections.OrderedDict
  • ModelAdmin.declared_fieldsets将被删除。
  • Django代码库中的utils.py实例已重命名为util.py,以统一所有util和utils引用。 提供向后兼容性的模块将被删除:
    • django.contrib.admin.util
    • django.contrib.gis.db.backends.util
    • django.db.backends.util
    • django.forms.util
  • ModelAdmin.get_formsets将被移除。
  • 将会将get_backend_timeout()方法重命名为BaseMemcachedCache._get_memcache_timeout()的向后兼容性垫片将被删除。
  • dumpdata-n--natural选项将被删除。
  • serializers.serialize()use_natural_keys参数将被删除。
  • 私有API django.forms.forms.get_declared_fields()将被删除。
  • 使用DateTimeFieldSplitDateTimeWidget的功能将被删除。
  • 将删除WSGIRequest.REQUEST属性。
  • django.utils.datastructures.MergeDict将被删除。
  • zh-twzh-cn语言代码将被删除,并被zh-hantzh-hans语言代码。
  • 内部django.utils.functional.memoize将被删除。
  • django.core.cache.get_cache将被删除。 CACHES添加适当的条目,然后使用django.core.cache.caches
  • django.db.models.loading将被移除。
  • 将可调用参数传递到查询集将不再可能。
  • requires_system_checks将被删除,以便于BaseCommand.requires_model_validation 管理验证程序将被管理员检查替换。
  • 将删除default_validator_classModelAdmin.validator_class属性。
  • ModelAdmin.validate()将被删除。
  • check_field将会被移除,以支持django.db.backends.DatabaseValidation.validate_field方法。
  • 将删除validate管理命令。
  • django.utils.module_loading.import_string将被移除,以便于使用django.utils.module_loading.import_by_path
  • urlssi模板标记将从future模板标记库(在1.3 / 1.4弃用期间使用)中删除。
  • django.utils.text.javascript_quote将被移除。
  • 将不再支持数据库测试设置作为数据库设置中的独立条目,前缀为TEST_
  • 将删除ModelChoiceFieldModelMultipleChoiceFieldcache_choices选项。
  • RedirectView.permanent属性的默认值将从True更改为False
  • django.contrib.flatpages.sitemaps.FlatPageSitemap将会被移除,以支持django.contrib.sitemaps.FlatPageSitemap
  • 私有API django.test.utils.TestTemplateLoader将被删除。
  • django.contrib.contenttypes.generic模块将被删除。
  • 私有API django.db.models.sql.where.Constraintdjango.db.models.sql.where.WhereNode.make_atom()将被删除。

1.8

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

  • django.contrib.comments将被移除。
  • 将除去以下事务管理API:
    • TransactionMiddleware
    • commit_on_success中定义的装饰器和上下文管理器autocommitdjango.db.transactioncommit_manually
    • 也在rollback_unless_managed中定义的函数commit_unless_manageddjango.db.transaction
    • TRANSACTIONS_MANAGED设置。
  • cyclefirstof 在1.6和1.7中,此行为由future模板标记库中的这些标记的版本提供。
  • SEND_BROKEN_LINK_EMAILS设置将被移除。 django.middleware.common.BrokenLinkEmailsMiddleware中间件添加到您的MIDDLEWARE_CLASSES设置中。
  • django.middleware.doc.XViewMiddleware将被删除。 请改用django.contrib.admindocs.middleware.XViewMiddleware
  • model_name已重命名为Model._meta.module_name
  • 删除引入的向后兼容的垫片以重命名get_query_set和类似的查询集方法。 这会影响以下类:ChangeListReverseSingleRelatedObjectDescriptorManagerGenericForeignKeyBaseCommentNodeBaseModelAdminSingleRelatedObjectDescriptor
  • 删除引入的向后兼容的垫片以重命名属性ChangeList.query_setChangeList.root_query_set
  • django.contrib将被删除,作为从核心Django代码库中删除所有django.views.defaults.shortcut引用的目标的一部分。 而应使用django.contrib.contenttypes.views.shortcut django.conf.urls.shortcut也会被移除。
  • 对Python映像库(PIL)模块的支持将被删除,因为它不再被看作是积极维护,不适用于Python 3。 建议您安装枕头,应该使用。
  • 将删除以下私有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.RadioChoiceInput将被删除,以便于使用django.forms.widgets.RadioInput
  • 模块django.test.simple.DjangoTestSuiteRunner和类django.test.simple将被删除。 而应使用django.test.runner.DiscoverRunner
  • 模块django.test._doctest将被删除。 而是使用Python标准库中的doctest模块。
  • CACHE_MIDDLEWARE_ANONYMOUS_ONLY设置将被删除。
  • 硬编码的使用 在Mac上按住“控制”或“命令”,选择多个。 用于覆盖或附加到用户提供的help_text的字符串将不再由Django在模型或表单层执行。
  • Model._meta.get_(add|change|delete)_permission方法将被删除。
  • 将不再读会话密钥django_language以实现向后兼容性。
  • 地理Sitemap会被移除(django.contrib.gis.sitemaps.views.sitemapdjango.contrib.gis.sitemaps.views.index)。
  • fix_ampersands,加速淘汰后,将删除django.utils.html.fix_ampersands模板过滤器和django.utils.html.clean_html

1.7

有关这些更改的详细信息,请参阅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设置为迭代器时,该迭代器将立即消耗。
  • 用户模型上的get_profile()设置和AUTH_PROFILE_MODULE方法将被删除。
  • 将删除cleanup管理命令。 它替换为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()的版本。 如果您的网站在超过PASSWORD_RESET_TIMEOUT_DAYS的情况下运行Django 1.6,则此更改将无效。 如果没有,那么在升级到Django 1.7之前生成的任何密码重置链接将在升级后无法正常工作。
  • django.utils.encoding.StrAndUnicode混合将被删除。 定义__str__方法,并应用python_2_unicode_compatible()装饰器。

1.6

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

  • django.contrib.databrowse将被删除。
  • django.contrib.localflavor将在加速淘汰后移除。
  • django.contrib.markup将在加速淘汰后移除。
  • 兼容性模块django.utils.hashcompatdjango.utils.copycompat以及函数django.utils.itercompat.anydjango.utils.itercompat.all将被删除。 应该使用Python内置版本。
  • csrf_view_exemptcsrf_response_exempt装饰器将被删除。 由于1.4 csrf_view_exempt是一个无操作(返回相同的函数),csrf_response_exempt已成为django.views.decorators.csrf.csrf_exempt,应该用于替换它。
  • 在Django 1.3中,django.core.cache.backends.memcached.CacheClass后端被分为两个,以引入对PyLibMC的支持。 将删除历史django.core.cache.backends.memcached.MemcachedCache以支持CacheClass
  • django.contrib.localflavor.uk的英式前缀对象只能通过其GB前缀名称访问(GB是英国的正确ISO 3166代码)。
  • 在1.4版本中,IGNORABLE_404_ENDSIGNORABLE_404_STARTS的设置已被IGNORABLE_404_URLS取代。 他们将被删除。
  • 表单向导已重构为在1.4中使用基于类的视图与可插拔后端。 之前的实现将被删除。
  • 调用cache_page()的传统方法将被删除。
  • 向 span> 'mail_admins'日志处理程序自动添加一个debug-false过滤器的向后兼容性填充将被删除。 如果需要,LOGGING设置应明确包括此过滤器。
  • 内置截断函数django.utils.text.truncate_html_words()django.utils.text.truncate_words()将被移除,以支持django.utils.text.Truncator类。
  • django.contrib.gis.geoip.GeoIP类已在1.4中移动到django.contrib.gis.geoip - django.contrib.gis.utils将被删除。
  • django.conf.urls.defaults将被删除。 The functions include(), patterns() and url() plus handler404, handler500, are now available through django.conf.urls .
  • 函数execute_manager()setup_environ()将从django.core.management中删除。 这也意味着旧的(pre-1.4)风格的manage.py文件将不再工作。
  • 将不再支持将needs_autoescapeis_safe标志设置为模板过滤器函数的属性。
  • 在1.4中,属性HttpRequest.body已重命名为HttpRequest.raw_post_data 向后兼容性将被删除 - HttpRequest.raw_post_data将不再工作。
  • ModelAdmin.response_add()post_url_continue参数的值必须为None(重定向到新创建的对象的编辑页面)或预格式化网址。 字符串格式,例如之前的默认值'../%s/',将不再被接受。

1.5

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

  • 启动不带SECRET_KEY的Django将导致异常而不是DeprecationWarning (这是从通常的弃用路径加速;请参阅Django 1.4 release notes。)
  • mod_python请求处理程序将被删除。 应使用mod_wsgi处理程序。
  • 将会删除test client返回的django.test.client.Response对象上的template属性。 应使用templates属性。
  • 将删除django.test.simple.DjangoTestRunner 而是使用unittest-native类。 django.test.simple.DjangoTestRunner(包括fail-fast和Ctrl-C测试终止)的功能当前可以由unittest-native TextTestRunner提供。
  • 将删除未记录的函数django.contrib.formtools.utils.form_hmac,而使用django.contrib.formtools.utils.security_hash
  • 基于功能的通用视图模块将被删除,以支持基于类的等同方案,在此概述here
  • 将删除django.core.servers.basehttp.AdminMediaHandler 在其位置使用django.contrib.staticfiles.handlers.StaticFilesHandler
  • 模板标签库adminmedia和模板标签{% admin_media_prefix %} 被移除以支持通用静态文件处理。 (这比通常的弃用路径快;请参阅Django 1.4 release notes。)
  • 将修改urlssi模板标签,以便每个标签的第一个参数是模板变量,而不是隐含的字符串。 在1.4中,此行为由future模板标记库中的标记版本提供。
  • 将删除sqlresetreset管理命令。
  • 认证后端将需要支持一个非活动用户被传递给处理权限的所有方法。 将不再检查supports_inactive_user属性,并可从自定义后端中删除。
  • 当在没有SRID值的几何体上调用时,transform()将产生GEOSException
  • django.http.SimpleCookie将被移除,以便于使用django.http.CompatCookie
  • 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将被移除。 由于难以处理的安全和性能问题,该功能在1.3.1中已弃用,并将遵循略微加速的弃用时间段。
  • 在运行时执行的翻译构建过程中,将忽略位于所谓项目路径下的翻译。 LOCALE_PATHS设置可用于同一任务,方法是将包含非应用程序特定翻译的locale目录的文件系统路径包含在其值中。
  • Markup contrib应用程序将不再支持2.1之前的Python-Markdown库版本。 使用加速的时间表,因为这是与安全相关的贬低。
  • CACHE_BACKEND设置将被删除。 缓存后端应在CACHES设置中指定。

1.4

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

  • CsrfMiddlewareCsrfResponseMiddleware将被删除。 使用表单中的{% csrf_token %}模板标记启用CSRF保护。 CsrfViewMiddleware保留并默认启用。
  • 旧的进口CSRF功能(django.contrib.csrf。*),将在1.2中移动到核心,将被删除。
  • django.contrib.gis.db.backend模块将被删除,以支持特定的后端。
  • SMTPConnection将被删除,以支持通用电子邮件后端API。
  • 数据库后端上的许多SQL生成函数将被删除。
  • 使用DATABASE_*系列顶层设置定义数据库连接的功能将被删除。
  • 将删除使用缩写符号来指定数据库后端(即django.db.backends.sqlite3而不是sqlite3)的功能。
  • get_db_prep_valueget_db_prep_saveget_db_prep_lookup方法将必须支持多个数据库。
  • The Message model (in django.contrib.auth), its related manager in the User model (user.message_set), and the associated methods (user.message_set.create() and user.get_and_delete_messages()), will be removed. 应该使用messages framework 由认证上下文处理器返回的相关messages变量​​也将被删除。 注意,这意味着管理应用程序将依赖于消息上下文处理器。
  • 身份验证后端需要支持obj参数才能进行权限检查。 将不再检查supports_object_permissions属性,并可从自定义后端中删除。
  • 认证后端将需要支持传递给处理权限的所有方法的AnonymousUser类。 将不再检查supports_anonymous_user变量​​,并可从自定义后端中删除。
  • 将删除指定可调用模板加载程序而不是load_template_source类的功能,以及与内置模板加载程序一起提供的Loader函数,以实现向后兼容性。
  • django.utils.translation.get_partial_date_formats()django.utils.translation.get_date_formats() 这些功能将被删除;请使用区域设置感知django.utils.formats.get_format()获取相应的格式。
  • DEFAULT_DATE_INPUT_FORMATS中,常量:django.forms.fieldsDEFAULT_DATETIME_INPUT_FORMATSDEFAULT_TIME_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中新方法的旧方法。
  • postgresql_psycopg2数据库后端将被删除,请改用postgresql后端。
  • nb语言代码将被删除,并已替换为no语言代码。
  • 身份验证后端需要定义布尔属性supports_inactive_user,直到版本1.5,此时将假设所有后端都将处理非活动用户。
  • django.db.models.fields.XMLField将被删除。 这已被弃用作为1.3版本的一部分。 已使用加速淘汰计划,因为除去oldforms后,该字段没有执行任何超出简单TextField的任何角色。 TextField的所有用法都可以替换为XMLField
  • 将删除open()(和子类)的mixin方法的未记录的django.core.files.storage.Storage参数。

1.3

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

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