장고 폐기 일정¶
이 문서는 :ref:`deprecation policy <internal-release-deprecation-policy>`에 따라 Django의 다양한 구성 요소가 사용 중단 이후 제거되거나 하위 호환되지 않는 방식으로 변경되는 시기를 설명합니다. 각 항목에 대한 자세한 내용은 보통 두 버전 이전의 릴리스 노트에서 확인할 수 있습니다.
7.0¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 6.0 릴리스 노트 <deprecated-features-6.0>`를 참조하세요.
BaseDatabaseCreation.create_test_db()``에 대한 ``serialize키워드 인수가 제거됩니다.django.contrib.postgres.aggregates.StringAgg클래스가 제거됩니다.django.contrib.postgres.aggregates.mixins.OrderableAggMixin클래스가 제거됩니다.urlize및urlizetrunc템플릿 필터의 기본 프로토콜이 HTTP에서 HTTPS로 변경됩니다.URLIZE_ASSUME_HTTPS전환 설정이 제거됩니다.컬럼 별칭이나 어노테이션에 퍼센트 기호를 사용하면 ``ValueError``가 발생합니다.
ADMINS또는MANAGERS설정을 (name, address) 튜플 목록으로 설정하는 지원이 제거됩니다.django.core.paginator.Paginator및django.core.paginator.AsyncPaginator``에서 ``orphans인수가per_page인수보다 크거나 같은 경우는 더 이상 허용되지 않습니다.django.core.mailAPI는 API는 더 이상 특정 파라미터를 위치 인수로 허용하지 않습니다. 대신 키워드 인수로 전달해야 합니다.Python의 레거시 이메일
email.mime.base.MIMEBase객체를EmailMessage.attach()``에 전달하거나, 메시지의 ``attachments목록에 포함하는 것에 대한 지원이 제거됩니다.django.core.mail.BadHeaderError예외가 제거됩니다.django.core.mail.SafeMIMEText및SafeMIMEMultipart클래스가 제거됩니다.django.core.mail.forbid_multi_line_headers()및django.core.mail.message.sanitize_address()함수가 제거됩니다.
See the Django 6.1 release notes for more details on these changes.
Calling
QuerySet.values_list()withflat=Trueand no field name will raiseTypeError.The use of
Nonewhen querying aJSONFieldtop-level value will compile to SQLIS NULL. UseJSONNullto query for a JSONnullvalue instead.The
django.db.models.fields.BLANK_CHOICE_DASHconstant will be removed.The
USE_BLANK_CHOICE_DASHtransitional setting will be removed.The
SIGNED_COOKIE_LEGACY_SALT_FALLBACKtransitional setting will be removed.The
Field.get_placeholder_sqlshim over the deprecatedget_placeholdermethod will be removed.The
SQLCompiler.quote_name_unless_alias()method will be removed.The
EMAIL_BACKEND,EMAIL_FILE_PATH,EMAIL_HOST,EMAIL_HOST_PASSWORD,EMAIL_HOST_USER,EMAIL_PORT,EMAIL_USE_TLS,EMAIL_USE_SSL,EMAIL_SSL_CERTFILE,EMAIL_SSL_KEYFILE, andEMAIL_TIMEOUTsettings will be removed.The
django.core.mail.get_connection()function will be removed.The
connection,fail_silently,auth_user, andauth_passwordarguments will be removed fromsend_mail(),send_mass_mail(),mail_admins(),mail_managers(), theEmailMessageconstructor, andEmailMessage.send(). Support for theEmailMessage.connectionattribute will also be removed.Directly creating instances of the
smtp.EmailBackendclass will become unsupported, and the class documentation for that backend will be removed.The
BaseEmailBackend.__init__()method will raise errors for unknown keyword arguments and will remove support forfail_silently.The
email_backendargument oflog.AdminEmailHandlerwill be removed.The
django.contrib.postgres.aggregates.BitAnd,django.contrib.postgres.aggregates.BitOr, anddjango.contrib.postgres.aggregates.BitXorclasses will be removed.Support for double-dot variable lookup, like
{{ book..title }}, is removed.The default value of the
algorithmargument fordjango.utils.crypto.salted_hmac()anddjango.core.signing.base64_hmac()will change from"sha1"to"sha256".Calling
QuerySet.select_related()without arguments will raiseTypeError.QuerySet.select_related()will raiseTypeErrorif passedTruerather thanAttributeError.ModelAdminwill raiseValueErrorif subclassed with itslist_select_relatedattribute set toTrue.ModelAdminwill raiseValueErrorif itsget_list_select_related()method returnsTrue.Support for overriding
ModelAdmin.get_actions()without the newaction_locationparameter will be removed.Support for unpacking or indexing the dictionary values of the
ModelAdmin.get_actions()return value will be removed. UseActionattributes instead.Support for overriding
ModelAdmin.get_action_choices()without the newaction_locationparameter will be removed.The
django.db.transaction.savepoint()alias todjango.db.transaction.savepoint_create()will be removed.
6.1¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 5.2 릴리스 노트 <deprecated-features-5.2>`를 참조하세요.
django.contrib.staticfiles.finders.find()``에 대한 ``all키워드 인수가 제거됩니다.django.contrib.auth.login()및 ``django.contrib.auth.alogin()``에서 ``user``가 ``None``일 때 각각 ``request.user``와 ``request.auser()``로 대체되는 동작이 제거됩니다.PostgreSQL 전용 집계 함수인
django.contrib.postgres.aggregates.ArrayAgg,django.contrib.postgres.aggregates.JSONBAgg,django.contrib.postgres.aggregates.StringAgg``의 ``ordering키워드 인수가 제거됩니다.``RemoteUserMiddleware``를 상속한 클래스 중에서 ``process_request()``는 재정의하고 ``aprocess_request()``는 재정의하지 않은 경우, 지원이 제거됩니다.
6.0¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 5.0 릴리스 노트 <deprecated-features-5.0>`를 참조하세요.
DjangoDivFormRenderer및Jinja2DivFormRenderer전환용 폼 렌더러가 제거됩니다.``BaseConstraint``에 위치 인수를 전달하는 지원이 제거됩니다.
request``는 ``ModelAdmin.lookup_allowed()하위 클래스의 서명에 필요합니다.``django.db.models.sql.datastructures.Join``은 더 이상 ``get_joining_columns()``로 대체되지 않습니다.
ForeignObject및ForeignObjectRel``의 ``get_joining_columns()메서드가 제거됩니다.ForeignObject.get_reverse_joining_columns()메서드가 제거됩니다.인수나 키워드 인수를 전달하지 않고 ``format_html()``을 호출하는 지원이 제거됩니다.
``cx_Oracle``에 대한 지원이 제거됩니다.
``BaseDatabaseOperations.field_cast_sql()``이 제거됩니다.
django.db.models.enums.ChoicesType``의 ``ChoicesMeta별칭이 제거됩니다.Prefetch.get_current_queryset()메서드가 제거됩니다.관련 매니저와 디스크립터의
get_prefetch_queryset()메서드가 제거됩니다.get_prefetcher()및 ``prefetch_related_objects()``는 더 이상 ``get_prefetch_queryset()``로 대체되지 않습니다.FORMS_URLFIELD_ASSUME_HTTPS전환 설정이 제거됩니다.
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 5.1 릴리스 노트 <deprecated-features-5.1>`를 참조하세요.
ModelAdmin.log_deletion()및LogEntryManager.log_action()메서드가 제거됩니다.문서화되지 않은
django.utils.itercompat.is_iterable()함수와django.utils.itercompat모듈이 제거됩니다.django.contrib.gis.geoip2.GeoIP2.coords()메서드가 제거됩니다.django.contrib.gis.geoip2.GeoIP2.open()메서드가 제거됩니다.Model.save()및 ``Model.asave()``에 위치 인수를 전달하는 지원이 제거됩니다.``django.contrib.gis.gdal.OGRGeometry.coord_dim``의 setter가 제거됩니다.
``django.urls.register_converter()``는 더 이상 기존 변환기를 재정의하는 것이 허용되지 않습니다.
CheckConstraint``에 대한 ``check키워드 인수가 제거됩니다.FileSystemStorage`의 ``OS_OPEN_FLAGS`속성이 제거됩니다.FieldCacheMixin``의 ``get_cache_name()메서드가 제거됩니다.
5.1¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 4.2 릴리스 노트 <deprecated-features-4.2>`를 참조하세요.
BaseUserManager.make_random_password()메서드가 제거됩니다.모델의
Meta.index_together옵션이 제거됩니다.length_is템플릿 필터가 제거됩니다.django.contrib.auth.hashers.SHA1PasswordHasher,django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher및 ``django.contrib.auth.hashers.UnsaltedMD5PasswordHasher``가 제거됩니다.django.contrib.postgres.fields.CICharField,django.contrib.postgres.fields.CIEmailField,django.contrib.postgres.fields.CITextField모델이 제거됩니다. 과거 마이그레이션 호환성을 위해 stub 필드는 유지됩니다.django.contrib.postgres.fields.CITextmixin이 제거됩니다.BaseGeometryWidget``의 ``map_width및map_height속성이 제거됩니다.SimpleTestCase.assertFormsetError()메서드가 제거됩니다.TransactionTestCase.assertQuerysetEqual()메서드가 제거됩니다.인코딩된 JSON 문자열 리터럴을 ``JSONField``와 관련 조회 및 표현식에 전달하는 지원이 제거됩니다.
Signer및 ``TimestampSigner``에 위치 인수를 전달하는 지원이 제거됩니다.DEFAULT_FILE_STORAGE및STATICFILES_STORAGE설정이 제거됩니다.django.core.files.storage.get_storage_class()함수가 제거됩니다.
5.0¶
이러한 변경사항에 대한 자세한 내용은 :ref::`Django 4.0 release notes <deprecedated-features-4.0>’을 참조하십시오.
“SERIALIZE” 테스트 설정이 제거됩니다.
문서화되지 않은 “django.utils.baseconv” 모듈이 제거됩니다.
문서화되지 않은 “django.utils.datetime_safe” 모듈이 제거됩니다.
“USE_TZ” 설정의 기본값은 “False”에서 “True”로 변경됩니다.
요청 컨텍스트 외부에 구축된 사이트 맵의 기본 사이트 맵 프로토콜이 “‘http”에서 “https”로 변경됩니다.
DiscoverRunner.build_suite()및 ``DiscoverRunner.run_tests()``에 대한 ``extra_tests``인수가 제거됩니다.django.contrib.postgres.aggregates.ArrayAgg,JSONBAgg,StringAgg집계는 행이 없는 경우 각각[],[],''대신 ``None``을 반환합니다.USE_L10N설정이 제거됩니다.USE_DEPRECATED_PYTZ전환 설정이 제거됩니다.pytz시간대 지원이 제거됩니다.is_dst인수는 다음에서 제거됩니다:QuerySet.datetimes()django.utils.timezone.make_aware()django.db.models.functions.Trunc()django.db.models.functions.TruncSecond()django.db.models.functions.TruncMinute()django.db.models.functions.TruncHour()`
django.db.models.functions.TruncDay()django.db.models.functions.TruncWeek()django.db.models.functions.TruncMonth()django.db.models.functions.TruncQuarter()django.db.models.functions.TruncYear()
django.contrib.gis.admin.GeoModelAdmin및OSMGeoAdmin클래스가 제거됩니다.문서화되지 않은
BaseForm._html_output()메서드는 제거됩니다.ErrorDict및 ``ErrorList``를 렌더링할 때 ``SafeString``이 아닌 ``str``을 반환하는 기능이 제거됩니다.
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 4.1 릴리스 노트 <deprecated-features-4.1>`를 참조하세요.
SitemapIndexItem.__str__()메서드가 제거됩니다.CSRF_COOKIE_MASKED전환 설정이 제거됩니다.django.utils.functional.cached_property()``의 ``name인수가 제거됩니다.django.contrib.postgres.constraints.ExclusionConstraint``의 ``opclasses인수가 제거됩니다.errors=None``을 ``SimpleTestCase.assertFormError()및 ``assertFormsetError()``에 전달하는 문서화되지 않은 기능이 제거됩니다.``django.contrib.sessions.serializers.PickleSerializer``가 제거됩니다.
chunk_size인수를 제공하지 않고 관련 객체를 미리 가져오는 쿼리셋에서QuerySet.iterator()사용이 더 이상 허용되지 않습니다.저장되지 않은 모델 인스턴스를 관련 필터에 전달하는 것은 더 이상 허용되지 않습니다.
created=True``는 ``RemoteUserBackend.configure_user()하위 클래스의 서명에 필요합니다.django.contrib.auth.views.LogoutView및``django.contrib.auth.views.logout_then_login()``에서GET요청을 총한 로그아웃 지원이 제거됩니다.django.utils.timezone.utc별칭에서 ``datetime.timezone.utc``가 제거됩니다.SimpleTestCase.assertFormError()및 ``assertFormsetError()``에 응답 객체 및 폼/폼셋 이름을 전달하는 것이 더 이상 허용되지 않습니다.``django.contrib.gis.admin.OpenLayersWidget``이 제거됩니다.
``django.contrib.auth.hashers.CryptPasswordHasher``가 제거됩니다.
"django/forms/default.html"및"django/forms/formsets/default.html"템플릿이 제거됩니다.nulls_first=False또는nulls_last=False``를 ``Expression.asc()및Expression.desc()메서드에 전달하는 기능과OrderBy표현식은 제거됩니다.
4.1¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 3.2 릴리스 노트 <deprecated-features-3.2>`를 참조하세요.
``TestCase.setUpTestData()``의 클래스 속성에 ``copy.deepcopy()``를 사용하여 깊은 복사 생성을 지원하지 않는 개체 할당에 대한 지원이 제거됩니다.
``BaseCommand.requires_system_checks``는 부울 값을 지원하지 않습니다.
``django.core.validators.EmailValidator``의 ``whitelist``인수 및 ``domain_whitelist``속성이 제거됩니다.
default_app_config모듈 변수가 제거됩니다.``TransactionTestCase.assertQuerysetEqual()``은 문자열 값과 비교할 때 더 이상 쿼리 세트에서 ``repr()``을 자동으로 호출하지 않습니다.
``django.core.cache.backends.memcached.MemcachedCache``가 제거됩니다.
``django.conrib.messages.storage.cookie.CookieStorage``에서 사용하는 Django 3.2 이전 형식의 메시지에 대한 지원이 제거됩니다.
4.0¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 3.0 릴리스 노트 <deprecated-features-3.0>`을 참조하세요
django.utils.http.urlquote(),urlquote_plus(),urlunquote()및 ``urlunquote_plus()``가 제거됩니다.django.utils.encoding.force_text()및 ``smart_text()``가 제거됩니다.django.utils.translation.ugettext(),ugettext_lazy(),ugettext_noop(),ungettext()및 ``ungettext_lazy()``가 제거됩니다.django.views.i18n.set_language()``는 더 이상 ``request.session``(키 ``django.utils.translation.LANGUAGE_SESSION_KEY)에서 사용자 언어를 설정하지 않습니다.alias=None``은 ``django.db.models.Expression.get_group_by_cols()하위 클래스의 서명에 필요합니다.``django.utils.text.unescape_entities()``가 제거됩니다.
``django.utils.http.is_safe_url()``가 제거됩니다.
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 3.1 릴리스 노트 <deprecated-features-3.1>`를 참조하십시오.
PASSWORD_RESET_TIMEOUT_DAYS설정이 제거됩니다.부울이 아닌 값을 우변으로 사용하는
isnull조회의 문서화되지 않은 사용은 더 이상 허용되지 않습니다.django.db.models.query_utils.InvalidQuery예외 클래스가 제거됩니다.django-admin.py진입점이 제거됩니다.HttpRequest.is_ajax()메서드가 제거됩니다.``django.contrib.messages.storage.cookie.CookieStorage``에서 사용하는 쿠키 값의 Django 3.1 이전 인코딩 형식에 대한 지원이 제거됩니다.
관리 사이트(SHA-1 해싱 알고리즘 사용)에서 Django 3.1 이전 암호 재설정 토큰에 대한 지원이 제거됩니다.
세션의 Django 3.1 이전 인코딩 형식에 대한 지원이 제거됩니다.
Django 3.1 이전
django.core.signing.Signer서명(SHA-1 알고리즘으로 인코딩됨)에 대한 지원이 제거됩니다.django.core.signing.loads()``에서 Django 3.1 이전 ``django.core.signing.dumps()서명(SHA-1 알고리즘으로 인코딩됨)에 대한 지원이 제거됩니다.Django 3.1 이전 사용자 세션(SHA-1 알고리즘 사용)에 대한 지원이 제거됩니다.
django.utils.deprecation.MiddlewareMixin.__init__()``에 대한 ``get_response인수가 필요하며 ``None``을 허용하지 않습니다.django.dispatch.Signal``에 대한 ``providing_args인수가 제거됩니다.django.utils.crypto.get_random_string()``에 대한 ``length인수가 필요합니다.ModelMultipleChoiceField``에 대한 ``list메시지가 제거됩니다.원시 열 별칭을 ``QuerySet.order_by()``에 전달하는 지원이 제거됩니다.
NullBooleanField모델이 제거됩니다. 이전 마이그레이션과의 호환성을 위해 스텁 필드가 유지됩니다.``django.conf.urls.url()``이 제거됩니다.
django.contrib.postgres.fields.JSONField모델이 제거됩니다. 이전 마이그레이션과의 호환성을 위해 스텁 필드가 유지됩니다.django.contrib.postgres.forms.JSONField,django.contrib.postgres.fields.jsonb.KeyTransform및 ``django.contrib.postgres.fields.jsonb.KeyTextTransform``이 제거됩니다.{% ifequal %}및{% ifnotequal %}템플릿 태그가 제거됩니다.DEFAULT_HASHING_ALGORITHM전환 설정이 제거됩니다.
3.1¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 2.2 릴리스 노트 <deprecated-features-2.2>`를 참조하세요.
``django.utils.timezone.FixedOffset``이 제거됩니다.
``django.core.paginator.QuerySetPaginator``가 제거됩니다.
모델의
Meta.ordering``은 더 이상 ``GROUP BY쿼리에 영향을 미치지 않습니다.django.contrib.postgres.fields.FloatRangeField및 ``django.contrib.postgres.forms.FloatRangeField``가 제거됩니다.FILE_CHARSET설정이 제거됩니다.``django.contrib.staticfiles.storage.CachedStaticFilesStorage``가 제거됩니다.
``RemoteUserBackend.configure_user()``는 첫 번째 인수로 ``request``를 요구합니다.
SimpleTestCase.allow_database_queries및TransactionTestCase.multi_db지원이 제거됩니다.
3.0¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 2.0 릴리스 노트<deprecated-features-2.0>`를 참조하십시오.
django.db.backends.postgresql_psycopg2모듈이 제거됩니다.``django.shortcuts.render_to_response()``가 제거됩니다.
DEFAULT_CONTENT_TYPE설정이 제거됩니다.``HttpRequest.xreadlines()``가 제거됩니다.
Field.from_db_value()및Expression.convert_value()``의 ``context인수에 대한 지원이 제거됩니다.QuerySet.earliest()및latest()``의 ``field_name키워드 인수가 제거됩니다.
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 2.1 릴리스 노트 <deprecated-features-2.1>`를 참조하십시오.
2.1¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.11 릴리스 노트<deprecated-features-1.11>`를 참조하십시오.
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매개변수가 제거됩니다.{% include %}템플렛 태그를 렌더링하는 동안 발생한 예외 무시가 제거됩니다.``DatabaseIntrospection.get_indexes()``가 제거됩니다.
인증 백엔드의
authenticate()메서드는 첫 번째 인수로 ``request``를 요구합니다.django.db.models.permalink()데코레이터가 제거됩니다.USE_ETAGS설정이 제거됩니다.CommonMiddleware및 ``django.utils.cache.patch_response_headers()``는 더 이상 ETag를 설정하지 않습니다.Model._meta.has_auto_field속성이 제거됩니다.정규표현식 그룹(
(?i),(?L),(?m),(?s), and(?u)) 의 인라인 플래그에 대한 ``url()``의 지원이 제거됩니다.renderer인수가 없는Widget.render()메서드에 대한 지원이 제거됩니다.
2.0¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.9 릴리스 노트<deprecated-features-1.9>`를 참조하세요.
django.dispatch.signals.Signal.disconnect()``에 대한 ``weak인수가 제거됩니다.``django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()``가 제거됩니다.
django.forms.extras패키지가 제거됩니다.assignment_tag도우미가 제거됩니다.assertsRedirects``에 대한 ``host인수가 제거됩니다. 경로가 동일한 경우 절대 URL을 상대 URL과 동일하게 간주할 수 있는 호환성 계층도 제거됩니다.``Field.rel``이 제거됩니다.
Field.remote_field.to속성이 제거됩니다.ForeignKey및OneToOneField``에 대한 ``on_delete인수가 필요합니다.``django.db.models.fields.add_lazy_relation()``이 제거됩니다.
시간대 지원이 활성화되면 시간대를 지원하지 않는 데이터베이스 백엔드는 이러한 값이 ORM 외부에서 실행되는 SQL 쿼리(``cursor.execute()``를 사용하는)에 매개변수로 전달될 때 더 이상 인식 날짜 시간을 UTC의 순진한 값으로 변환하지 않습니다.
django.contrib.auth.tests.utils.skipIfCustomUser()데코레이터가 제거됩니다.GeoManager및GeoQuerySet클래스가 제거됩니다.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.Atom1Feed및django.utils.feedgenerator.RssFeed``의 ``mime_type속성은 ``content_type``을 위해 제거됩니다.django.conf.urls.include()``에 대한 ``app_name인수가 제거됩니다.``include()``에 대한 첫 번째 인수로 3-튜플을 전달하는 지원이 제거됩니다.
애플리케이션 네임스페이스 없이 URL 인스턴스 네임스페이스를 설정하는 지원이 제거됩니다.
``Field._get_val_from_obj()``는 ``Field.value_from_object()``를 위해 제거됩니다.
``django.template.loaders.eggs.Loader``가 제거됩니다.
contrib.auth보기에 대한current_app매개변수가 제거됩니다.SimpleTestCase.assertRaisesMessage()``에 대한 ``callable_obj키워드 인수가 제거됩니다.ModelAdmin메서드의allow_tags속성에 대한 지원이 제거됩니다.SyndicationFeed.add_item()``에 대한 ``enclosure키워드 인수가 제거됩니다.django.template.base.Origin``의 ``django.template.loader.LoaderOrigin및django.template.base.StringOrigin별칭이 제거됩니다.
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.10 릴리스 노트 <deprecated-features-1.10>`를 참조하세요.
makemigrations --exit옵션이 제거됩니다.역방향 외래 키 또는 다대다 관계에 대한 직접 할당 지원이 제거됩니다.
django.contrib.gis.geos.GEOSGeometry``의 ``get_srid()및set_srid()메소드가 제거됩니다.django.contrib.gis.geos.Point``의 ``get_x(),set_x(),get_y(),set_y(),get_z()및set_z()메서드가 제거됩니다.django.contrib.gis.geos.Point``의 ``get_coords()및set_coords()메서드가 제거됩니다.django.contrib.gis.geos.MultiPolygon``의 ``cascaded_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()메서드 없이 사용자 지정 관련 관리자 클래스를 지원하기 위한 shim이 제거됩니다.User.is_authenticated()및 ``User.is_anonymous()``를 메소드로 사용하는 것은 더 이상 지원되지 않습니다.Field.contribute_to_class()``의 ``virtual_only및Model._meta.add_field()``의 ``virtual비공개 키워드 인수가 제거됩니다.javascript_catalog()및json_catalog()보기가 제거됩니다.django.contrib.gis.utils.precision_wkt()함수가 제거됩니다.다중 테이블 상속에서 ``OneToOneField``에서 ``parent_link``로의 암시적 확장이 제거됩니다.
``Widget._format_value()``에 대한 지원이 제거됩니다.
FileField메서드get_directory_name()및 ``get_filename()``이 제거됩니다.mark_for_escaping()함수와EscapeData,EscapeBytes,EscapeText,EscapeString및EscapeUnicode클래스가 제거됩니다.escape필터는 ``django.utils.html.conditional_escape()``를 사용하도록 변경됩니다.``Manager.use_for_related_fields``가 제거됩니다.
모델
Manager상속은 MRO 상속 규칙을 따르며 이 동작을 선택하는 ``Meta.manager_inheritance_from_future``는 제거됩니다.``settings.MIDDLEWARE_CLASSES``를 사용하는 구식 미들웨어에 대한 지원이 제거됩니다.
1.10¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.8 릴리스 노트<deprecated-features-1.8>`를 참조하십시오.
quote_name_unless_alias메서드를 호출하기 위한 별칭으로 ``SQLCompiler``를 직접 호출하는 지원이 제거됩니다.cycle및firstof템플릿 태그는future템플릿 태그 라이브러리에서 제거됩니다(1.6/1.7 지원 중단 기간 동안 사용됨).``django.conf.urls.patterns()``가 제거됩니다.
django.conf.urls.i18n.i18n_patterns()``에 대한 ``prefix인수 지원이 제거됩니다.``SimpleTestCase.urls``가 제거됩니다.
for템플릿 태그에서 압축 해제된 값의 잘못된 개수를 사용하면 조용히 실패하지 않고 예외가 발생합니다.점으로 구분된 Python 경로를 사용하여 URL을 뒤집는 기능이 제거됩니다.
LOGIN_URL및LOGIN_REDIRECT_URL설정에 점으로 구분된 Python 경로를 사용하는 기능이 제거됩니다.사용자 지정 관리 명령에 대한
optparse지원이 중단됩니다(:mod:`argparse`로 대체됩니다).django.core.management.NoArgsCommand클래스가 제거됩니다. 기본적으로 인수를 사용하지 않는 클래스:`~django.core.management.BaseCommand`를 대신 사용하십시오.django.core.context_processors모듈이 제거됩니다.django.db.models.sql.aggregates모듈이 제거됩니다.django.contrib.gis.db.models.sql.aggregates모듈이 제거됩니다.``django.db.sql.query.Query``의 다음 메서드 및 속성이 제거됩니다.
속성:
aggregates및aggregate_select메소드:
add_aggregate,set_aggregate_mask및append_aggregate_mask
``django.template.resolve_variable``이 제거됩니다.
다음 비공개 API는
django.db.models.options.Options`(``Model._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.RegexField``의 ``error_message인수가 제거됩니다.unordered_list필터는 더 이상 구식 리스트를 지원하지 않습니다.url()``에 대한 문자열 ``view인수에 대한 지원이 제거됩니다.``django.forms.Form._has_changed()``를 ``has_changed()``로 이름을 바꾸는 이전 버전과 호환되는 심이 제거됩니다.
removetags템플릿 필터가 제거됩니다.django.utils.html``의 ``remove_tags()및strip_entities()함수가 제거됩니다.django.contrib.auth.views.password_reset()``에 대한 ``is_admin_site인수가 제거됩니다.``django.db.models.field.subclassing.SubfieldBase``가 제거됩니다.
django.utils.checksums``는 제거되며, 해당 기능은 ``django-localflavor1.1 이상에 포함되어 있습니다.django.contrib.admin.helpers.InlineAdminForm``의 ``original_content_type_id속성이 제거됩니다.FormMixin.get_form()``에서 ``form_class인수에 기본값 없이도 정의할 수 있도록 하던 하위 호환용 shim이 제거됩니다.다음 설정이 제거됩니다.
ALLOWED_INCLUDE_ROOTSTEMPLATE_CONTEXT_PROCESSORSTEMPLATE_DEBUGTEMPLATE_DIRSTEMPLATE_LOADERSTEMPLATE_STRING_IF_INVALID
하위 호환성 별칭인 ``django.template.loader.BaseLoader``가 제거됩니다.
get_template()및render()메서드에서 :class:`~django.template.Context`를 더 이상 허용하지 않습니다.Template response APIs </ref/template-response>`에서는 :class:`~django.template.Context 및
Template대신 각각 :class:`dict`와 백엔드 의존적인 템플릿 객체를 사용하도록 강제합니다.아래 함수와 클래스의
current_app매개변수가 제거됩니다.django.shortcuts.render()django.template.Context()django.template.RequestContext()django.template.response.TemplateResponse()
아래 함수의
dictionary및context_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템플릿 태그가 제거됩니다.if템플릿 태그에서=비교 연산자 지원이 제거됩니다.Storage.get_available_name()및Storage.save()``를 ``max_length인수 없이 정의할 수 있도록 하던 하위 호환용 shim이 제거됩니다.ModelFormMixin.success_url``에서 레거시 ``%(<foo>)s구문에 대한 지원이 제거됩니다.GeoQuerySet``의 aggregate 메서드인 ``collect(),extent(),extent3d(),make_line(), ``unionagg()``가 제거됩니다.콘텐츠 타입 인스턴스를 생성할 때 ``ContentType.name``를 지정하는 기능이 제거됩니다.
``allow_migrate``의 이전 시그니처에 대한 지원이 제거됩니다. 이는 ``allow_migrate(self, db, model)``에서 ``allow_migrate(self, db, app_label, model_name=None, **hints)``로 변경되었습니다.
쉼표로 구분된 인수를 사용하는
{% cycle %}구문에 대한 지원이 제거됩니다.잘못된 구분자가 주어졌을 때 :class:`~django.core.signing.Signer`에서 발생하던 경고는 예외로 변경됩니다.
1.9¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.7 릴리스 노트<deprecated-features-1.7>`를 참조하세요.
``django.utils.dictconfig``가 제거됩니다.
``django.utils.importlib``가 제거됩니다.
``django.utils.tzinfo``가 제거됩니다.
``django.utils.unittest``가 제거됩니다.
syncdb명령이 제거됩니다.django.db.models.signals.pre_syncdb및 ``django.db.models.signals.post_syncdb``가 제거됩니다.데이터베이스 라우터에서 ``allow_syncdb``는 더 이상 자동으로 ``allow_migrate``로 변경되지 않습니다.
마이그레이션 없이 앱을 자동으로 동기화하는 기능이 제거됩니다.
--run-syncdb옵션을 ``migrate``에 전달하지 않는 한, 모든 앱에 마이그레이션이 필수로 요구됩니다.마이그레이션이 없는 앱을 위한 SQL 관리 명령인
sql,sqlall,sqlclear,sqldropindexes, ``sqlindexes``가 제거됩니다.initial_datafixture와 초기 SQL 데이터의 자동 로드 지원이 제거됩니다.모든 모델은 설치된 애플리케이션 내부에서 정의되거나, 명시적으로 :attr:`~django.db.models.Options.app_label`을 선언해야 합니다. 또한 애플리케이션이 로드되기 전에는 모델을 임포트할 수 없습니다. 특히 애플리케이션의 루트 패키지에서 모델을 임포트하는 것은 불가능합니다.
모델과 폼에서 사용하는 ``IPAddressField``가 제거됩니다. 이전 마이그레이션과의 호환성을 위해 스텁 필드는 유지됩니다.
``AppCommand.handle_app()``이 더 이상 지원되지 않습니다.
RequestSite및 ``get_current_site()``는 더 이상 ``django.contrib.sites.models``에서 임포트할 수 없습니다.runfcgi관리 명령을 통한 FastCGI 지원이 제거됩니다. 프로젝트는 WSGI를 사용하여 배포하세요.``django.utils.datastructures.SortedDict``가 제거됩니다. 대신 Python 표준 라이브러리의 :class:`collections.OrderedDict`를 사용하세요.
``ModelAdmin.declared_fieldsets``가 제거됩니다.
Django 코드베이스에서
util.py파일은 모든 util 및 utils 참조를 통합하기 위해 ``utils.py``로 이름이 변경되었습니다. 다음과 같은 하위 호환성을 제공하던 모듈이 제거됩니다.django.contrib.admin.utildjango.contrib.gis.db.backends.utildjango.db.backends.utildjango.forms.util
``ModelAdmin.get_formsets``가 제거됩니다.
BaseMemcachedCache._get_memcache_timeout()메서드를 ``get_backend_timeout()``로 이름을 변경하기 위해 도입된 하위 호환용 shim이 제거됩니다.dumpdata`의 `–natural`` 및-n옵션이 제거됩니다.serializers.serialize()``에 대한 ``use_natural_keys인수가 제거됩니다.비공개 API ``django.forms.forms.get_declared_fields()``가 제거됩니다.
``DateTimeField``에서 ``SplitDateTimeWidget``을 사용할 수 있는 기능이 제거됩니다.
WSGIRequest.REQUEST속성이 제거됩니다.django.utils.datastructures.MergeDict클래스가 제거됩니다.zh-cn및zh-tw언어 코드는 제거되며, 각각zh-hans및zh-hant언어 코드로 대체됩니다.내부 ``django.utils.functional.memoize``가 제거됩니다.
``django.core.cache.get_cache``가 제거됩니다. 대신 :setting:`CACHES`에 적절한 항목을 추가하고 :data:`django.core.cache.caches`를 사용하세요.
``django.db.models.loading``이 제거됩니다.
querysets에 호출 가능한 객체를 인수로 전달하는 것은 더 이상 불가능합니다.
``BaseCommand.requires_model_validation``은 ``requires_system_checks``로 대체되어 제거됩니다. 관리자 검증은 관리자 점검으로 대체됩니다.
ModelAdmin.validator_class및default_validator_class속성이 제거됩니다.``ModelAdmin.validate()``가 제거됩니다.
django.db.backends.DatabaseValidation.validate_field``는 ``check_field메서드로 대체되어 제거됩니다.validate관리 명령이 제거됩니다.``django.utils.module_loading.import_by_path``는 ``django.utils.module_loading.import_string``로 대체되어 제거됩니다.
ssi및url템플릿 태그는future템플릿 태그 라이브러리에서 제거됩니다(1.3/1.4 지원 중단 기간 동안 사용됨).``django.utils.text.javascript_quote``가 제거됩니다.
데이터베이스 설정에서 ``TEST_``로 시작하는 독립 항목 형태의 테스트 설정은 더 이상 지원되지 않습니다.
The
cache_choicesoption toModelChoiceFieldandModelMultipleChoiceFieldwill be removed.RedirectView.permanent속성의 기본값이 ``True``에서 ``False``로 변경됩니다.``django.contrib.sitemaps.FlatPageSitemap``이 ``django.contrib.flatpages.sitemaps.FlatPageSitemap``로 대체되어 제거됩니다.
비공개 API ``django.test.utils.TestTemplateLoader``가 제거됩니다.
django.contrib.contenttypes.generic모듈이 제거됩니다.비공개 API
django.db.models.sql.where.WhereNode.make_atom()및 ``django.db.models.sql.where.Constraint``가 제거됩니다.
1.8¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.6 릴리스 노트<deprecated-features-1.6>`를 참조하세요.
``django.contrib.comments``가 제거됩니다.
다음 트랜잭션 관리 API가 제거됩니다.
TransactionMiddleware,django.db.transaction``에서 정의된 데코레이터 및 컨텍스트 관리자 ``autocommit,commit_on_success,commit_manually,django.db.transaction``에서 정의된 함수 ``commit_unless_managed및rollback_unless_managed,TRANSACTIONS_MANAGED설정.
cycle및firstof템플릿 태그는 인수를 자동으로 이스케이프 처리합니다. Django 1.6과 1.7에서는 이 동작이future템플릿 태그 라이브러리의 해당 태그를 통해 제공됩니다.SEND_BROKEN_LINK_EMAILS설정이 제거됩니다. 대신MIDDLEWARE_CLASSES설정에django.middleware.common.BrokenLinkEmailsMiddleware미들웨어를 추가하세요.``django.middleware.doc.XViewMiddleware``가 제거됩니다. 대신 ``django.contrib.admindocs.middleware.XViewMiddleware``를 사용하세요.
get_query_set및 유사한 queryset 메서드의 이름을 변경하기 위해 도입된 하위 호환용 shim이 제거됩니다. 이는 다음 클래스에 영향을 미칩니다:BaseModelAdmin,ChangeList,BaseCommentNode,GenericForeignKey,Manager,SingleRelatedObjectDescriptor,ReverseSingleRelatedObjectDescriptor.ChangeList.root_query_set및ChangeList.query_set속성의 이름을 변경하기 위해 도입된 하위 호환용 shim이 제거됩니다.django.views.defaults.shortcut``은 코어 Django 코드베이스에서 ``django.contrib참조를 모두 제거하려는 과정의 일환으로 제거됩니다. 대신 ``django.contrib.contenttypes.views.shortcut``을 사용하세요. ``django.conf.urls.shortcut``도 제거됩니다.Python Imaging Library(PIL) 모듈 지원이 제거됩니다. 이는 해당 라이브러리가 더 이상 활발하게 유지 관리되지 않고 Python 3에서도 동작하지 않기 때문입니다.
다음 비공개 API가 제거됩니다.
django.db.backenddjango.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설정이 제거됩니다.ManyToMany 모델 필드를 사용하는 폼에서 사용자 제공 ``help_text``를 덮어쓰거나 추가하기 위해 사용되던 *여러 개를 선택하려면 “Control” 키 또는 Mac의 “Command” 키를 누르세요.*라는 하드코딩된 문자열은 더 이상 Django의 모델이나 폼 레이어에서 사용되지 않습니다.
Model._meta.get_(add|change|delete)_permission메서드가 제거됩니다.하위 호환성을 위해 더 이상
django_language세션 키를 읽지 않습니다.Geographic Sitemaps가 제거됩니다(
django.contrib.gis.sitemaps.views.index및django.contrib.gis.sitemaps.views.sitemap).django.utils.html.fix_ampersands,fix_ampersands템플릿 필터와 ``django.utils.html.clean_html``은 단축된 사용 중단 절차를 거쳐 제거됩니다.
1.7¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.5 릴리스 노트<deprecated-features-1.5>`를 참조하세요.
django.utils.simplejson모듈이 제거됩니다. 대신 표준 라이브러리에서 제공되는 :mod:`json`을 사용해야 합니다.django.utils.itercompat.product함수가 제거됩니다. 대신 Python 내장 버전을 사용하세요.INSTALLED_APPS 및 TEMPLATE_DIRS 설정을 튜플이 아닌 일반 문자열로 지정된 경우 이를 자동으로 수정하던 기능이 제거되며, 예외가 발생합니다.
HttpResponse,SimpleTemplateResponse,TemplateResponse`의 ``__init__`메서드에 대한mimetype인수가 제거됩니다. 대신content_type``을 사용하세요. 이는 ``render_to_response()단축 함수와 sitemap 뷰index(), :func:`~django.contrib.sitemaps.views.sitemap`에도 동일하게 적용됩니다.:class:`~django.http.HttpResponse`를 이터레이터로 초기화하거나, :attr:`~django.http.HttpResponse.content`에 이터레이터를 설정하면 해당 이터레이터는 즉시 소비됩니다.
AUTH_PROFILE_MODULE설정과 User 모델의get_profile()메서드가 제거됩니다.cleanup관리 명령이 제거되며, ``clearsessions``로 대체됩니다.daily_cleanup.py스크립트가 제거됩니다.select_related`에서 ``depth`()키워드 인수가 제거됩니다.django.test.utils`의 문서화되지 않은 ``get_warnings_state()`/restore_warnings_state()함수와 django.test.*TestCase <django-testcase-subclasses>`의 ``save_warnings_state()`/restore_warnings_state()메서드는 사용 중단되었습니다. 대신 Python 2.6부터 제공되는warnings.catch_warnings컨텍스트 관리자를 사용하세요.AuthenticationForm`의 문서화되지 않은 ``check_for_test_cookie`메서드는 단축된 사용 중단 절차를 거쳐 제거됩니다. 이 폼을 상속하는 사용자는 이 메서드에 대한 호출을 제거하고, 인증 관련 뷰가 CSRF 보호되도록 설정해야 합니다. 이를 통해 쿠키가 활성화되도록 할 수 있습니다.base36로 인코딩된 사용자 ID를 지원하는
django.contrib.auth.views.password_reset_confirm()버전(django.contrib.auth.views.password_reset_confirm_uidb36)이 제거됩니다. 사이트에서 Django 1.6을 ``PASSWORD_RESET_TIMEOUT_DAYS``보다 오랜 기간 동안 사용해 왔다면 이 변경 사항은 아무런 영향이 없습니다. 그렇지 않은 경우, Django 1.7로 업그레이드하기 전에 생성된 비밀번호 재설정 링크는 업그레이드 후에 작동하지 않습니다.django.utils.encoding.StrAndUnicodemixin이 제거됩니다.
1.6¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.4 릴리스 노트<deprecated-features-1.4>`를 참조하세요.
``django.contrib.databrowse``가 제거됩니다.
``django.contrib.localflavor``는 단축된 사용 중단 절차를 거쳐 제거됩니다.
``django.contrib.markup``은 단축된 사용 중단 절차를 거쳐 제거됩니다.
The compatibility modules
django.utils.copycompatanddjango.utils.hashcompatas well as the functionsdjango.utils.itercompat.allanddjango.utils.itercompat.anywill be removed. The Python builtin versions should be used instead.csrf_response_exempt및csrf_view_exempt데코레이터가 제거됩니다. 1.4부터 ``csrf_response_exempt``는 no-op(동일한 함수를 반환함)이었으며, ``csrf_view_exempt``는 ``django.views.decorators.csrf.csrf_exempt``의 동의어로 사용되어 왔습니다. 대신 ``django.views.decorators.csrf.csrf_exempt``를 사용해야 합니다.django.core.cache.backends.memcached.CacheClass백엔드는 PyLibMC 지원을 도입하기 위해 Django 1.3에서 둘로 분리되었습니다. 기존의 ``CacheClass``는 ``django.core.cache.backends.memcached.MemcachedCache``로 대체되어 제거됩니다.앞으로 ``django.contrib.localflavor.uk``의 UK 접두사가 붙은 객체는 GB 접두사가 붙은 이름으로만 접근할 수 있습니다(GB는 영국의 올바른 ISO 3166 코드입니다).
IGNORABLE_404_STARTS및IGNORABLE_404_ENDS설정은 1.4 릴리스에서 :setting:`IGNORABLE_404_URLS`로 대체되었습니다. 해당 설정들은 제거될 예정입니다.폼 위저드는 1.4에서 교체 가능한 백엔드를 사용하는 클래스 기반 뷰로 리팩터링되었습니다. 기존 구현은 제거될 예정입니다.
:func:`~django.views.decorators.cache.cache_page`를 호출하는 레거시 방식이 제거됩니다.
'mail_admins'로깅 핸들러에 debug-false 필터를 자동으로 추가해 주던 이전 버전 호환용 shim이 제거됩니다. 해당 필터가 필요하다면LOGGING설정에 명시적으로 포함해야 합니다.내장 문자열 자르기 함수인
django.utils.text.truncate_words()및django.utils.text.truncate_html_words()``가 ``django.utils.text.Truncator클래스로 대체되어 제거됩니다.django.contrib.gis.geoip.GeoIP클래스는 1.4에서 ``django.contrib.gis.geoip``로 이동되었으며, ``django.contrib.gis.utils``에 있던 단축 경로는 제거됩니다.django.conf.urls.defaults``가 제거됩니다. 이제 ``include(),patterns(),url()함수와handler404, :data:`~django.conf.urls.handler500`은 ``django.conf.urls``에서 사용할 수 있습니다.setup_environ()및execute_manager()함수는django.core.management`에서 제거됩니다. 이는 이전(-1.4 이전) 방식의 :file:`manage.py파일도 더 이상 작동하지 않음을 의미합니다.템플릿 필터 함수의 속성으로
is_safe및needs_autoescape플래그를 설정하는 방식은 더 이상 지원되지 않습니다.HttpRequest.raw_post_data속성은 1.4에서 ``HttpRequest.body``로 이름이 변경되었습니다. 하위 호환성이 제거되므로, ``HttpRequest.raw_post_data``는 더 이상 작동하지 않습니다.ModelAdmin.response_add()``에서 ``post_url_continue매개변수의 값은 ``None``(새로 생성된 객체의 수정 페이지로 리디렉션) 또는 미리 포맷된 URL이어야 합니다. 이전 기본값인 ``’../%s/’``과 같은 문자열 포맷은 더 이상 허용되지 않습니다.
1.5¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.3 릴리스 노트<deprecated-features-1.3>`를 참조하세요.
SECRET_KEY없이 Django를 실행하면 ``DeprecationWarning``이 아니라 예외가 발생합니다. (일반적인 사용 중단 절차보다 빠르게 적용된 변경입니다. 자세한 내용은 :doc:`Django 1.4 release notes</releases/1.4>`를 참고하세요.)mod_python요청 핸들러가 제거됩니다. 대신mod_wsgi핸들러를 사용해야 합니다.The
templateattribute ondjango.test.client.Responseobjects returned by the test client will be removed. Thetemplatesattribute should be used instead.django.test.simple.DjangoTestRunner``가 제거됩니다. 대신 ``unittest기반 클래스를 사용하세요. ``django.test.simple.DjangoTestRunner``의 기능(예: fail-fast 및 Ctrl-C를 통한 테스트 종료)은 :class:`unittest.TextTestRunner`에서 제공합니다.문서화되지 않은 함수 ``django.contrib.formtools.utils.security_hash``가 제거됩니다. 대신 ``django.contrib.formtools.utils.form_hmac``을 사용하세요.
함수 기반 제네릭 뷰 모듈은 :doc:`here </topics/class-based-views/index>`에 설명된 클래스 기반 제네릭 뷰 모듈로 대체되어 제거됩니다.
``django.core.servers.basehttp.AdminMediaHandler``가 제거됩니다. 대신 ``django.contrib.staticfiles.handlers.StaticFilesHandler``를 사용하세요.
템플릿 태그 라이브러리
adminmedia및 템플릿 태그 ``{% admin_media_prefix %}``는 일반 정적 파일로 대체되어 제거됩니다. (이는 일반적인 사용 중단 절차보다 빠르게 적용된 변경입니다. 자세한 내용은 :doc:`Django 1.4 release notes</releases/1.4>`를 참고하세요.)url및ssi템플릿 태그는 수정되어, 각 태그의 첫 번째 인수로 암묵적인 문자열이 아닌 템플릿 변수를 사용합니다. 1.4에서는 이 동작이future템플릿 태그 라이브러리의 태그 버전을 통해 제공됩니다.reset및sqlreset관리 명령이 제거됩니다.인증 백엔드는 권한과 관련된 모든 메서드에 비활성 사용자가 전달될 수 있도록 지원해야 합니다.
supports_inactive_user속성은 더 이상 확인되지 않으며, 사용자 정의 백엔드에서 제거할 수 있습니다.SRID 값이 없는 지오메트리에서 :meth:`~django.contrib.gis.geos.GEOSGeometry.transform`을 호출할 경우 :class:`~django.contrib.gis.geos.GEOSException`이 발생합니다.
``django.http.CompatCookie``가 ``django.http.SimpleCookie``로 대체되어 제거됩니다.
django.core.context_processors.PermWrapper및django.core.context_processors.PermLookupDict``는 각각 ``django.contrib.auth.context_processors.PermWrapper및 ``django.contrib.auth.context_processors.PermLookupDict``로 대체되어 제거됩니다.템플릿에서 경로를 일관된 방식으로 결합할 수 있도록
MEDIA_URL또는STATIC_URL설정은 끝에 슬래시로 끝나야 합니다.``django.db.models.fields.URLField.verify_exists``가 제거됩니다. 이 기능은 해결하기 어려운 보안 및 성능 문제로 인해 1.3.1에서 사용 중단되었으며, 다소 앞당겨진 사용 중단 일정을 따릅니다.
*project path*라고 불리는 경로 아래에 위치한 번역은 런타임에 수행되는 번역 빌드 과정에서 무시됩니다.
LOCALE_PATHS설정은 앱에 속하지 않는 번역이 포함된locale디렉토리의 파일 시스템 경로를 값에 포함하여 같은 작업에 사용할 수 있습니다.Markup contrib 앱은 Python-Markdown 라이브러리 2.1 이전 버전을 더 이상 지원하지 않습니다. 이는 보안과 관련된 사용 중단이었기 때문에 앞당겨진 일정이 적용되었습니다.
CACHE_BACKEND설정이 제거됩니다. 캐시 백엔드는CACHES설정에서 지정해야 합니다.
1.4¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.2 릴리스 노트<deprecated-features-1.2>`를 참조하세요.
CsrfResponseMiddleware및CsrfMiddleware``가 제거됩니다. CSRF 보호를 위해 폼 내부에서 ``{% csrf_token %}템플릿 태그를 사용하세요. ``CsrfViewMiddleware``는 유지되며 기본적으로 활성화되어 있습니다.1.2에서 코어로 이동한 CSRF 기능(
django.contrib.csrf.*)의 기존 임포트 방식은 제거됩니다.django.contrib.gis.db.backend모듈이 개별 백엔드로 대체되어 제거됩니다.``SMTPConnection``이 범용 이메일 백엔드 API로 대체되어 제거됩니다.
데이터베이스 백엔드의 다대다 SQL 생성 함수가 제거됩니다.
데이터베이스 연결을 정의하기 위해 최상위 설정인
DATABASE_*설정 그룹을 사용하는 기능이 제거됩니다.데이터베이스 백엔드를 지정할 때 약식 표기법(예:
django.db.backends.sqlite3대신sqlite3)을 사용하는 기능이 제거됩니다.get_db_prep_save,get_db_prep_value,get_db_prep_lookup메서드는 여러 데이터베이스를 지원해야 합니다.django.contrib.auth``의 ``Message모델과User모델의 관련 매니저(user.message_set), 관련 메서드 (user.message_set.create(),user.get_and_delete_messages())가 제거됩니다. 대신 messages framework </ref/contrib/messages>`를 사용해야 합니다. 또한 auth 컨텍스트 프로세서에서 반환되는 관련 ``messages` 변수도 제거됩니다. 이로 인해 admin 애플리케이션은 messages 컨텍스트 프로세서에 의존하게 됩니다.인증 백엔드는 권한 확인 시 사용하는
obj매개변수를 지원해야 합니다.supports_object_permissions속성은 더 이상 확인되지 않으며, 사용자 정의 백엔드에서 제거할 수 있습니다.인증 백엔드는 권한과 관련된 모든 메서드에
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_FORMATS,DEFAULT_TIME_INPUT_FORMATS및 ``DEFAULT_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``의 새로운 방식이 사용됩니다.
postgresql데이터베이스 백엔드가 제거됩니다. 대신postgresql_psycopg2백엔드를 사용하세요.no언어 코드는 제거되며,nb언어 코드로 대체됩니다.인증 백엔드는 1.5 버전까지 boolean 속성 ``supports_inactive_user``를 정의해야 합니다. 이후에는 모든 백엔드가 비활성 사용자를 처리하는 것으로 간주됩니다.
django.db.models.fields.XMLField``가 제거됩니다. 이 필드는 1.3 릴리스에서 사용 중단되었습니다. ``oldforms``가 제거된 이후에는 단순한 ``TextField이상의 역할을 하지 않았기 때문에 사용 중단 일정이 앞당겨졌습니다. ``XMLField``의 모든 사용은 ``TextField``로 대체할 수 있습니다.django.core.files.storage.Storage``(및 하위클래스)의 ``open()메서드에 있는 문서화되지 않은mixin매개변수는 제거됩니다.
1.3¶
이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.1 릴리스 노트<deprecated-features-1.1>`를 참조하세요.