>  기사  >  백엔드 개발  >  Django 리디렉션 앱 튜토리얼

Django 리디렉션 앱 튜토리얼

王林
王林원래의
2024-09-06 06:02:07961검색

URL 리디렉션은 제작 웹사이트를 유지하는 데 있어 기본적인 부분입니다. 웹사이트의 한 부분에서 다른 부분으로 사용자를 리디렉션하려는 이유에는 여러 가지 이유가 있지만, 올바르게 리디렉션하는 것은 긍정적인 사용자 경험을 제공하고 가능한 최대 SEO(검색 엔진 최적화)를 유지하는 데 중요합니다. .

Django에는 리디렉션 관리에 도움이 되는 리디렉션 앱이 내장되어 있지만 공식 문서는 초보자에게 특히 친숙하지 않으므로 이 튜토리얼을 참조하세요.

Django 리디렉션 설정

Django 리디렉션 앱은 내장되어 있지만 자동으로 설치되지는 않는 사이트 프레임워크와 함께 작동합니다. Django 개발자로서 이 두 가지를 완전히 사용하려면 몇 가지 설정이 필요합니다.

사이트 프레임워크를 구성하려면 이를 settings.py의 INSTALLED_APPS 구성에 추가하고 SITE_ID를 설정하세요. 사이트가 하나만 있는 웹 애플리케이션을 1로 정의하는 것이 관례입니다.

# settings.py
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "django.contrib.sites",  # new
]

SITE_ID = 1  # new

완전성을 위해 지금 마이그레이션을 실행하여 데이터베이스를 업데이트해야 합니다.

(.venv) $ python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, contenttypes, sessions, sites
Running migrations:
 Applying sites.0001_initial... OK
 Applying sites.0002_alter_domain_unique... OK

사이트 프레임워크와 마찬가지로 리디렉션 앱은 기본적으로 Django에 포함되어 있지만 일부 구성이 필요합니다. INSTALLED_APPS, MIDDLEWARE를 업데이트하고 데이터베이스 마이그레이션을 다시 실행하겠습니다. 미들웨어를 추가할 때 미들웨어는 HTTP 요청의 경우 위에서 아래로 실행되므로(HTTP 응답의 경우 아래에서 위로 실행되지만 이에 대해서는 나중에 다루겠습니다) 제대로 작동하려면 아래 근처에 배치해야 합니다.

# settings.py
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "django.contrib.sites",
    "django.contrib.redirects",  # new
    # other local and 3rd party apps
]

MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
    # ... any other custom middleware ...
    "django.contrib.redirects.middleware.RedirectFallbackMiddleware",  # new
]

이제 마이그레이션을 실행하여 리디렉션 앱이 작동하는 데 필요한 데이터베이스 테이블을 생성하세요.

(.venv) $ python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, contenttypes, redirects, sessions, sites
Running migrations:
 Applying redirects.0001_initial... OK
 Applying redirects.0002_alter_redirect_new_path_help_text... OK

설정이 완료되었습니다. 이를 사용하는 두 가지 접근 방식을 살펴보겠습니다.

접근 방식 1: 관리 인터페이스

Django 관리자는 코드를 작성하지 않고도 리디렉션을 관리할 수 있는 사용자 친화적인 방법입니다. 적은 수의 리디렉션을 빠르게 설정하거나 기술적인 지식이 없는 팀 구성원에게 이상적입니다.

관리자로 로그인하면 리디렉션 및 사이트 섹션이 표시됩니다.

Django Redirects App Tutorial

리디렉션 옆에 있는 '+추가' 버튼을 클릭하세요. 사이트, "리디렉션 원본" 경로 및 "리디렉션 대상" 경로를 선택하는 양식이 나타납니다. 페이지에 명시된 대로 전자에는 절대 경로를 사용하고 후자에는 절대 경로 또는 전체 URL을 사용하세요.

다음은 "example.com/old"에서 "example.com/new"로 리디렉션을 추가하는 예입니다.

Django Redirects App Tutorial

저장하면 모든 기존 리디렉션을 보고 편집할 수 있는 기본 리디렉션 페이지로 이동됩니다.

Django Redirects App Tutorial

사이트의 'example.com' 부분을 변경하려면 사이트 섹션을 클릭하고 도메인 이름 또는 표시 이름을 업데이트할 수 있습니다. 표시 이름은 식별을 위해 관리 및 템플릿에서 사용되는 사람이 읽을 수 있는 사이트 이름입니다. 도메인 이름은 사이트맵과 같은 URL 생성 및 유효성 검사에 사용됩니다.

다음 단계

리디렉션 앱은 기본적으로 영구(301) 리디렉션을 사용하는데, 이는 일반적으로 SEO 목적으로 원하는 것입니다. 리디렉션 수가 많으면 성능에 영향을 미칠 수 있으므로 정기적으로 리디렉션을 검토하고 프로덕션 웹 사이트의 성능을 모니터링하는 것이 중요하며, 이것이 문제인 경우 캐싱 옵션을 살펴볼 수 있습니다. 또한 로컬, 스테이징 및 프로덕션 환경 간의 전환을 쉽게 하려면 새 경로에 상대 URL을 사용하는 것을 잊지 마세요. 마지막 팁은 리디렉션이 예상대로 작동하는지 확인하는 테스트를 추가하는 것입니다.

Django 웹사이트 SEO 최적화에 대한 추가 팁을 알고 싶다면 이 주제에 대한 튜토리얼 목록을 확인하세요.

위 내용은 Django 리디렉션 앱 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.