---
title: "장고 폐기 일정"
version: 6.1
locale: ko
source: https://docs.djangoproject.com/ko/6.1/internals/deprecation/
canonical: https://djangodocs.dev/ko/6.1/internals/deprecation/
---
# 장고 폐기 일정

이 문서는 :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`](/ko/6.1/topics/email/#module-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](/ko/6.1/releases/6.1/#deprecated-features-6-1) for more
details on these changes.

- Calling [`QuerySet.values_list()`](/ko/6.1/ref/models/querysets/#django.db.models.query.QuerySet.values_list) with `flat=True` and no field name
  will raise `TypeError`.
- The use of `None` when querying a [`JSONField`](/ko/6.1/ref/models/fields/#django.db.models.JSONField)
  top-level value will compile to SQL `IS NULL`. Use
  [`JSONNull`](/ko/6.1/ref/models/expressions/#django.db.models.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()`](/ko/6.1/topics/email/#django.core.mail.send_mail), [`send_mass_mail()`](/ko/6.1/topics/email/#django.core.mail.send_mass_mail),
  [`mail_admins()`](/ko/6.1/topics/email/#django.core.mail.mail_admins), [`mail_managers()`](/ko/6.1/topics/email/#django.core.mail.mail_managers), the [`EmailMessage`](/ko/6.1/topics/email/#django.core.mail.EmailMessage)
  constructor, and [`EmailMessage.send()`](/ko/6.1/topics/email/#django.core.mail.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`](/ko/6.1/ref/logging/#django.utils.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()`](/ko/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_related) without arguments will raise
  [`TypeError`](https://docs.python.org/3/library/exceptions.html#TypeError).
- [`QuerySet.select_related()`](/ko/6.1/ref/models/querysets/#django.db.models.query.QuerySet.select_related) will raise [`TypeError`](https://docs.python.org/3/library/exceptions.html#TypeError) if passed
  `True` rather than [`AttributeError`](https://docs.python.org/3/library/exceptions.html#AttributeError).
- [`ModelAdmin`](/ko/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin) will raise [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) if subclassed with its
  [`list_select_related`](/ko/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_select_related) attribute set to `True`.
- [`ModelAdmin`](/ko/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin) will raise [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) if its
  [`get_list_select_related()`](/ko/6.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.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`](/ko/6.1/ref/contrib/admin/actions/#django.contrib.admin.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`](/ko/6.1/ref/models/querysets/#std-fieldlookup-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`](https://docs.python.org/3/library/optparse.html#module-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()`](/ko/6.1/topics/templates/#django.template.loader.get_template) 및 `render()` 메서드에서 :class:~django.template.Context\`를 더 이상 허용하지 않습니다.
- Template response APIs \</ref/template-response\>\`에서는 :class:\`~django.template.Context 및 [`Template`](/ko/6.1/ref/templates/api/#django.template.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`](/ko/6.1/ref/forms/fields/#django.forms.ModelChoiceField) and
  [`ModelMultipleChoiceField`](/ko/6.1/ref/forms/fields/#django.forms.ModelMultipleChoiceField) will be removed.
- [`RedirectView.permanent`](/ko/6.1/ref/class-based-views/base/#django.views.generic.base.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`](/ko/6.1/ref/templates/builtins/#std-templatetag-cycle) 및 [`firstof`](/ko/6.1/ref/templates/builtins/#std-templatetag-firstof) 템플릿 태그는 인수를 자동으로 이스케이프 처리합니다. Django 1.6과 1.7에서는 이 동작이 `future` 템플릿 태그 라이브러리의 해당 태그를 통해 제공됩니다.
- `SEND_BROKEN_LINK_EMAILS` 설정이 제거됩니다. 대신 `MIDDLEWARE_CLASSES` 설정에 [`django.middleware.common.BrokenLinkEmailsMiddleware`](/ko/6.1/ref/middleware/#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`](/ko/6.1/ref/request-response/#django.http.HttpResponse), [`SimpleTemplateResponse`](/ko/6.1/ref/template-response/#django.template.response.SimpleTemplateResponse),  ``` TemplateResponse`의 ``__init__` ``` 메서드에 대한 `mimetype` 인수가 제거됩니다. 대신 ```content_type``을 사용하세요. 이는 ``render_to_response()``` 단축 함수와 sitemap 뷰 [`index()`](/ko/6.1/ref/contrib/sitemaps/#django.contrib.sitemaps.views.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`](https://docs.python.org/3/library/warnings.html#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`](/ko/6.1/ref/settings/#std-setting-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`](/ko/6.1/ref/urls/#django.conf.urls.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`](/ko/6.1/ref/settings/#std-setting-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](/ko/6.1/topics/testing/tools/#test-client) will be removed.
  The [`templates`](/ko/6.1/topics/testing/tools/#django.test.Response.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`](/ko/6.1/ref/settings/#std-setting-MEDIA_URL) 또는 [`STATIC_URL`](/ko/6.1/ref/settings/#std-setting-STATIC_URL) 설정은 끝에 슬래시로 끝나야 합니다.
- django.db.models.fields.URLField.verify\_exists\`\`가 제거됩니다. 이 기능은 해결하기 어려운 보안 및 성능 문제로 인해 1.3.1에서 사용 중단되었으며, 다소 앞당겨진 사용 중단 일정을 따릅니다.
- project path\*라고 불리는 경로 아래에 위치한 번역은 런타임에 수행되는 번역 빌드 과정에서 무시됩니다. [`LOCALE_PATHS`](/ko/6.1/ref/settings/#std-setting-LOCALE_PATHS) 설정은 앱에 속하지 않는 번역이 포함된 `locale` 디렉토리의 파일 시스템 경로를 값에 포함하여 같은 작업에 사용할 수 있습니다.
- Markup contrib 앱은 Python-Markdown 라이브러리 2.1 이전 버전을 더 이상 지원하지 않습니다. 이는 보안과 관련된 사용 중단이었기 때문에 앞당겨진 일정이 적용되었습니다.
- `CACHE_BACKEND` 설정이 제거됩니다. 캐시 백엔드는 [`CACHES`](/ko/6.1/ref/settings/#std-setting-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\`\`를 정의해야 합니다. 이후에는 모든 백엔드가 이러한 옵션을 지원하는 것으로 간주됩니다.
