Heim  >  Artikel  >  Backend-Entwicklung  >  Django Redirects App-Tutorial

Django Redirects App-Tutorial

王林
王林Original
2024-09-06 06:02:071084Durchsuche

URL-Weiterleitungen sind ein grundlegender Bestandteil der Pflege einer Produktionswebsite. Es gibt viele Gründe, warum Sie einen Benutzer von einem Teil Ihrer Website zu einem anderen umleiten möchten, aber es ist wichtig, dies richtig zu tun, um eine positive Benutzererfahrung zu erzielen und die größtmögliche SEO (Suchmaschinenoptimierung) aufrechtzuerhalten .

Django wird mit einer integrierten Weiterleitungs-App geliefert, die bei der Verwaltung von Weiterleitungen hilft, aber die offizielle Dokumentation ist für Neulinge nicht besonders freundlich, daher dieses Tutorial.

Richten Sie Django-Weiterleitungen ein

Die Django-Weiterleitungs-App funktioniert zusammen mit dem Sites-Framework, das ebenfalls integriert, aber nicht automatisch installiert ist. Wir als Django-Entwickler benötigen ein paar Setup-Teile, um beide vollständig nutzen zu können.

Um das Sites-Framework zu konfigurieren, fügen Sie es der INSTALLED_APPS-Konfiguration in Settings.py hinzu und legen Sie eine SITE_ID fest. Es ist üblich, eine Webanwendung mit nur einer Site als 1.
zu definieren

# 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

Der Vollständigkeit halber sollten Sie jetzt eine Migration durchführen, um Ihre Datenbank zu aktualisieren.

(.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

Wie das Sites-Framework ist die Weiterleitungs-App standardmäßig in Django enthalten, erfordert jedoch einige Konfigurationen. Wir werden INSTALLED_APPS und MIDDLEWARE aktualisieren und erneut eine Datenbankmigration durchführen. Beachten Sie, dass beim Hinzufügen der Middleware diese weit unten platziert werden sollte, damit sie ordnungsgemäß funktioniert, da die Middleware für eine HTTP-Anfrage von oben nach unten ausgeführt wird (und für eine HTTP-Antwort von unten nach oben, aber das ist ein Thema für einen anderen Tag).

# 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
]

Führen Sie nun Migrationen aus, um die erforderlichen Datenbanktabellen zu erstellen, damit die Weiterleitungs-App funktioniert.

(.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

Unsere Einrichtung ist abgeschlossen. Lassen Sie uns zwei verschiedene Ansätze für die Verwendung untersuchen.

Ansatz 1: Admin-Schnittstelle

Der Django-Administrator ist eine benutzerfreundliche Möglichkeit, Weiterleitungen zu verwalten, ohne Code schreiben zu müssen. Es ist ideal für die schnelle Einrichtung einer kleinen Anzahl von Weiterleitungen oder für technisch nicht versierte Teammitglieder.

Melden Sie sich beim Administrator an: Die Abschnitte „Weiterleitungen“ und „Sites“ sollten sichtbar sein.

Django Redirects App Tutorial

Klicken Sie auf die Schaltfläche „+Hinzufügen“ neben Weiterleitungen. Es öffnet sich ein Formular zur Auswahl einer Site, eines „Weiterleitungspfads“ und eines „Weiterleitungspfads“. Wie auf der Seite angegeben, verwenden Sie für Ersteres einen absoluten Pfad und für Letzteres entweder einen absoluten Pfad oder eine vollständige URL.

Hier ist ein Beispiel für das Hinzufügen einer Weiterleitung von „example.com/old“ zu „example.com/new“.

Django Redirects App Tutorial

Nach dem Speichern werden Sie zur Hauptseite „Weiterleitungen“ weitergeleitet, wo Sie alle vorhandenen Weiterleitungen sehen und bearbeiten können.

Django Redirects App Tutorial

Wenn Sie den Teil „example.com“ der Website ändern möchten, klicken Sie auf den Abschnitt „Sites“ und Sie können den Domänennamen oder Anzeigenamen aktualisieren. Der Anzeigename ist der für Menschen lesbare Name der Site, der im Admin und in Vorlagen zur Identifizierung verwendet wird. Der Domänenname wird zur URL-Generierung und -Validierung verwendet, beispielsweise in einer Sitemap.

Nächste Schritte

Die Weiterleitungs-App verwendet standardmäßig permanente (301) Weiterleitungen, was normalerweise für SEO-Zwecke gewünscht ist. Es ist wichtig, Ihre Weiterleitungen regelmäßig zu überprüfen und die Leistung auf einer Produktionswebsite zu überwachen, da eine große Anzahl von Weiterleitungen die Leistung beeinträchtigen kann. Wenn dies ein Problem darstellt, sollten Sie nach Caching-Optionen suchen. Denken Sie außerdem daran, relative URLs für neue Pfade zu verwenden, um den Übergang zwischen lokalen, Staging- und Produktionsumgebungen zu erleichtern. Ein letzter Tipp besteht darin, Tests hinzuzufügen, um zu bestätigen, dass Weiterleitungen wie erwartet funktionieren.

Wenn Sie weitere Tipps zur Optimierung der SEO Ihrer Django-Website wünschen, schauen Sie sich die Liste der Tutorials zu diesem Thema an.

Das obige ist der detaillierte Inhalt vonDjango Redirects App-Tutorial. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn