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 № 1Sie 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.