So Bearbeiten Sie django-allauth Standard-templates?
bin ich mit Django 1.10 und möchte ich hinzufügen, dass die allauth app für login, anmelden, usw, auf meiner website. Ich habe installiert allauth von pip, und versuchte, um die Vorlagen von allauth repository in "meine Vorlagen" - Ordner und nennen Sie, aber ich weiß nicht, wie es funktioniert.
- Mögliche Duplikate von gewusst Wie: überschreiben der Vorlage, die in django-allauth?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die richtige Antwort finden Sie hier: https://stackoverflow.com/a/31282443/4992248
yourproject/templates/allauth/account/
und fügen Sie hier alle Vorlagen, die Sie Bearbeiten müssen, von/myproject/Lib/site-packages/allauth/templates/account
.Wenn Sie änderungen vornehmen müssen, für
socialaccount
Vorlagen erstellen Sie auchyourproject/templates/allauth/socialaccount/
'DIRS'
imsettings.py
wie'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'templates', 'allauth')],
Am Ende sollte es Aussehen somethink wie diese:
/Lib/site-packages/*
, da alle änderungen gehen verloren, sobald ein Paket aktualisiert wird.yourproject/templates/allauth/account/
zu/myproject/Lib/site-packages/allauth/account
oder ändernos.path.join(BASE_DIR, 'templates', 'allauth')
zuos.path.join(BASE_DIR, 'templates', 'allauth', 'templates')
. Hoffe, das hilftallauth
. Bezüglich der 2. Weg - entweder Sie verwenden keine standard-Pfad oder die Struktur derdjango
oderallauth
geändert wurde (django
ich nur sehr selten benutzen,allauth
Letzte mal habe ich vor 1 Jahr).allauth
zu Ihrem'DIRS'
wenn Sie gerade die neuen Vorlagen unter dentemplate\allauth\account
Ordner? würde nichtos.path.join(BASE_DIR, 'templates')
enthalten alle Unterordner? siehe stackoverflow.com/a/9571112/895810Scheint es, dass die Dokumentation des Moduls ist veraltet. Für Django 1.10 sollten Sie das folgende tun:
scheint, dass für django 1.10 ist nicht erforderlich, um VORLAGEN zu ändern Abschnitt (django-allauth==0.28.0). Sie können überprüfen Sie die Module mit der "pip freeze" - Befehl.
erstellen, die eine künstliche Modul zum überschreiben der Vorlagen; zum Beispiel, mein Projekt ist benannt irj_app und ich habe fügen Sie eine neue Anwendung namens _shared, dann habe ich die folgende Struktur, und fügen Sie es INSTALLED_APPS vor 'allauth' Erklärungen :
hoffe es hilft
Versuchen Sie Dies:
Erstellen Konto - Verzeichnis in Ihrem app-Vorlage dir so, dass es aussieht wie unten
Dateien und
und fügen Sie unten, um Ihre TEMPLATE-DIRS Daran zu ändern yourappname auf den Namen der app
Dieser arbeitete für mich mit Django 2.1.7 und django-allauth 0.39.1:
yourapp/templates/
erstellen Sie einen Ordner namensaccount
so am Ende der Struktur istyourapp/templates/account/
und fügen Sie alle Vorlagen, die Sie ändern möchten, wielogin.html
odersignup.html
.In
settings.py
meinem Template-Dirs gleich bleiben'DIRS': [os.path.join(BASE_DIR, 'templates')],
Allauth templates überschrieben werden können, genau wie das normale template überschreiben von Methoden.
TEMPLATE_DIRS = (
os.path.join(BASE_DIR,'templates'), os.path.join(BASE_DIR,'templates'))
Deinem template Verzeichnis im Projektverzeichnis. Gehen Sie in Ihrem template-Verzeichnis und
create a directory named allauth, inside allauth create a template directory and inside that create a directory accounts
Erstellen von html-Dateien mit dem gleichen Namen wie allauth Vorlagen. Finden Sie allauth github-repository für weitere Informationen über die template-Namen.
git clone https://github.com/pennersr/django-allauth
cd django-allauth/allauth/templates/account
Offizieller Link
Gut, ich war nur in der Lage, es zu tun.
Wusste ich nicht, wo diese Vorlagen waren, aber ich fand, dass, in meinem Fall (ich verwende virtual env):
modifizierte ich die base.html und noch meine statischen Ordner mit all meinen bootstrap-Zeug und jquery, um die Einstellungen in der Datei:
und fügte hinzu, diese.
Und das ist alles.
Ich weiß nicht, ob dies der richtigen Weg, es zu tun, aber wenn jemand eine bessere Antwort bitte per post.
Lib/site-packages
directory: wenn Sie ein upgrade der Pakete, Ihre änderungen sind Weg. Es macht es auch ziemlich schwierig zu verfolgen Sie Ihre änderungen oder Verpacken Sie Ihre änderungen. Der richtige Weg ist, kopieren Sie die Vorlagen, umtemplates/allauth/
, und hinzufügen, dass dieDIRS
option fürTEMPLATES
in Ihren Einstellungen angegeben werden wie in den anderen Antworten.