# Django 6.0.7 문서

# 장고 폐기 일정

이 문서는 :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.mail` API는 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()` with `flat=True` and no field name will raise `TypeError`.

- The use of `None` when querying a `JSONField` top-level value will compile to SQL `IS NULL`. Use `JSONNull` to query for a JSON `null` value instead.

- The `django.db.models.fields.BLANK_CHOICE_DASH` constant will be removed.

- The `USE_BLANK_CHOICE_DASH` transitional setting will be removed.

- The `SIGNED_COOKIE_LEGACY_SALT_FALLBACK` transitional setting will be removed.

- The `Field.get_placeholder_sql` shim over the deprecated `get_placeholder` method 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`, and `EMAIL_TIMEOUT` settings will be removed.

- The `django.core.mail.get_connection()` function will be removed.

- The `connection`, `fail_silently`, `auth_user`, and `auth_password` arguments will be removed from `send_mail()`, `send_mass_mail()`, `mail_admins()`, `mail_managers()`, the `EmailMessage` constructor, and `EmailMessage.send()`. Support for the `EmailMessage.connection` attribute will also be removed.

- Directly creating instances of the `smtp.EmailBackend` class 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 for `fail_silently`.

- The `email_backend` argument of `log.AdminEmailHandler` will be removed.

- The `django.contrib.postgres.aggregates.BitAnd`, `django.contrib.postgres.aggregates.BitOr`, and `django.contrib.postgres.aggregates.BitXor` classes will be removed.

- Support for double-dot variable lookup, like `{{ book..title }}`, is removed.

- The default value of the `algorithm` argument for `django.utils.crypto.salted_hmac()` and `django.core.signing.base64_hmac()` will change from `"sha1"` to `"sha256"`.

- Calling `QuerySet.select_related()` without arguments will raise `TypeError`.

- `QuerySet.select_related()` will raise `TypeError` if passed `True` rather than `AttributeError`.

- `ModelAdmin` will raise `ValueError` if subclassed with its `list_select_related` attribute set to `True`.

- `ModelAdmin` will raise `ValueError` if its `get_list_select_related()` method returns `True`.

- Support for overriding `ModelAdmin.get_actions()` without the new `action_location` parameter will be removed.

- Support for unpacking or indexing the dictionary values of the `ModelAdmin.get_actions()` return value will be removed. Use `Action` attributes instead.

- Support for overriding `ModelAdmin.get_action_choices()` without the new `action_location` parameter will be removed.

- The `django.db.transaction.savepoint()` alias to `django.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()` 메서드가 제거됩니다.

- ``forms.URLField``의 기본 스킴이 ``”http”``에서 ``”https”``로 변경됩니다.

- 인수나 키워드 인수를 전달하지 않고 ``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.CIText` mixin이 제거됩니다.

- `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>`를 참조하십시오.

- ``django.contrib.gis.db.models.functions.ForceRHR``이 제거됩니다.

- ``django.utils.http.cookie_date()``가 제거됩니다.

- `staticfiles` 및 `admin_static` 템플릿 태그 라이브러리가 제거됩니다.

- ``django.contrib.staticfiles.templatetags.static()``이 제거됩니다.

- `InlineModelAdmin.has_add_permission()``을 ``obj` 인수 없이 정의할 수 있도록 하는 심이 제거됩니다.

## 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()``를 메소드로 사용하는 것은 더 이상 지원되지 않습니다.

- ``Model._meta``의 비공개 속성 ``virtual_fields``가 제거됩니다.

- `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-localflavor` 1.1 이상에 포함되어 있습니다.

- `django.contrib.admin.helpers.InlineAdminForm``의 ``original_content_type_id` 속성이 제거됩니다.

- `FormMixin.get_form()``에서 ``form_class` 인수에 기본값 없이도 정의할 수 있도록 하던 하위 호환용 shim이 제거됩니다.

- 다음 설정이 제거됩니다.

  - `ALLOWED_INCLUDE_ROOTS`

  - `TEMPLATE_CONTEXT_PROCESSORS`

  - `TEMPLATE_DEBUG`

  - `TEMPLATE_DIRS`

  - `TEMPLATE_LOADERS`

  - `TEMPLATE_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_data` fixture와 초기 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.util`

  - `django.contrib.gis.db.backends.util`

  - `django.db.backends.util`

  - `django.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_choices` option to `ModelChoiceField` and `ModelMultipleChoiceField` will 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``를 사용하세요.

- ``Model._meta.module_name``이 ``model_name``로 이름이 변경되었습니다.

- `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.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` 설정이 제거됩니다.

- 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.StrAndUnicode` mixin이 제거됩니다.

## 1.6

이러한 변경 사항에 대한 자세한 내용은 :ref:`Django 1.4 릴리스 노트<deprecated-features-1.4>`를 참조하세요.

- ``django.contrib.databrowse``가 제거됩니다.

- ``django.contrib.localflavor``는 단축된 사용 중단 절차를 거쳐 제거됩니다.

- ``django.contrib.markup``은 단축된 사용 중단 절차를 거쳐 제거됩니다.

- The compatibility modules `django.utils.copycompat` and `django.utils.hashcompat` as well as the functions `django.utils.itercompat.all` and `django.utils.itercompat.any` will 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 `template` attribute on `django.test.client.Response` objects returned by the test client will be removed. The `templates` attribute 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>`를 참조하세요.

- ``AdminSite.root()``를 사용한 admin URL 연결 방식은 제거됩니다. 대신 ``admin.site.urls``를 포함해야 합니다.

- 인증 백엔드는 1.4 버전까지 boolean 속성 `supports_object_permissions` 및 ``supports_anonymous_user``를 정의해야 합니다. 이후에는 모든 백엔드가 이러한 옵션을 지원하는 것으로 간주됩니다.