Angeblich eine triviale Aufgabe auf Server 403/404/500 Fehlerseiten bei der Verwendung von django-cms. Befolgen Sie die Anweisungen in einem alten Forenbeitrag, um dies zu erstellen:
%Vor%Urls.py hat einige Zeilen wie folgt:
%Vor%Von traceback django cms kann die 404-Seite nicht finden:
%Vor% Offensichtlich wurden die erforderlichen benutzerdefinierten Seiten in django-cms mit dem Slug: 'page-not-found' hinzugefügt. Fehle ich etwas Offensichtliches? Wird auf dem Produktionsserver mit debug=False
ausgeführt. Ausführen von django-cms 2.4.2 (bearbeiten)
Vielleicht ist es besser, einfach alte Fehlermeldungen mit hartcodierten Stylesheets zu bedienen?
Nachdem ich in unzählige Wände gegangen war, um die Probleme zu überdenken, ging ich einfach mit den grundlegenden Handlern 403/404/500:
%Vor%Erstellen Sie die Vorlagen für jeden Fehler und geben Sie absolute URLs für die Stylesheets ein.
Problem gelöst. Verschwendete Zeit auf etwas so Triviales.
Hier ist ein funktionierender (mit DEBUG bei True oder False) 404-Handler:
%Vor%BEARBEITEN / Einfache Lösung
Nach mehr Suchen und Nachdenken wäre es eine einfachere Lösung, den Standard / Standard 404.html zu erstellen und darin django-cms statische Platzhalter zu verwenden ... so einfach wie möglich!
Original (funktioniert noch) Beantworten
Nachdem ich versucht habe, meinen Handler404 aus einem alten CMS-Projekt zu aktualisieren und keine Informationen zu diesem Thema zu finden, und die akzeptierte Antwort keine wirkliche Lösung für das Problem ist, habe ich eine Version gefunden und gefunden, die in django-cms 3.4 funktioniert.
Erwähnenswert
_current_page_cache
auf der Anfrage request.current_page
oder cms_tags
werden Ihre 404-Seite nicht verwenden und leer rendern details
-Ansicht zum Rendern der Seite response.render()
(wie in den Kommentaren erwähnt) Die Ansicht
%Vor%Tags und Links django django-cms