/ / Linke äußere HTML-Seite mit reverse_lazy () der Anmeldeseite - Python, HTML, Django

Verknüpfung der äußeren HTML-Seite mit der reverse_lazy () der Anmeldeseite - Python, HTML, Django

Ich habe Code geschrieben, um soziale Medien zu entwickelnKlonstelle mit Django. Nach der Anmeldung muss ich statt der Anmeldeseite zur Startseite wechseln. Der Homepage-HTML-Code befindet sich in einem anderen Ordner außerhalb dieses aktuellen Ordners. Ich kann von hier aus nicht auf die URL der HTML-Seite zugreifen. Der Code lautet:

    from django.contrib.auth import login, logout
from django.core.urlresolvers import reverse_lazy
from django.views.generic import CreateView

from . import forms

class SignUp(CreateView):
form_class = forms.UserCreateForm
success_url = reverse_lazy("login")
template_name = "accounts/signup.html"

Anstelle von "login" sollte die URL "base" sein. Der Pfad von "login.html" lautet: "project / accounts / templates / accounts / login.html". Der Pfad von "base.html" lautet: "project / templates / project / base.html". Bitte schlagen Sie mir eine Methode vor, um dies zu ändern.

Antworten:

0 für die Antwort № 1

Sie müssen die entsprechende URL und Ansicht erstellen, um zu dieser Ansicht umzuleiten:

# views.py
from django.views.generic import TemplateView

class MyView(TemplateView):
template_name = "project/base.html"


# urls.py
from django.conf.urls import url
from .views import MyView
urlpatterns += url(r"^my_url/", MyView.as_view(), name="my_view")

# signup view
from django.contrib.auth import login, logout
from django.core.urlresolvers import reverse_lazy
from django.views.generic import CreateView

from . import forms

class SignUp(CreateView):
form_class = forms.UserCreateForm
success_url = reverse_lazy("my_view")
template_name = "accounts/signup.html"

Möglicherweise müssen Sie einige Dinge anpassen, aber der Schlüssel ist, dass Sie eine URL und eine Ansicht benötigen, um sie nach der Anmeldung dorthin umzuleiten.