Не мог бы кто-нибудь проверить ошибку в моем коде, пожалуйста?
Здравствуйте, не мог бы кто-нибудь взглянуть на мой код, пожалуйста? Моя кнопка входа возвращает NONE и я потерялся с ней уже 2 дня.
Мнения:
def login_view(request, *args, **kwargs):
context = {}
user = request.user
if user.is_authenticated:
return redirect("index")
destination = get_redirect_if_exists(request)
print("destination: " + str(destination))
if request.POST:
form = AccountAuthenticationForm(request.POST)
if form.is_valid():
email = request.POST['email']
password = request.POST['password']
user = authenticate(email=email, password=password)
if user:
login(request, user)
if destination: # si destination n'est None
return redirect(destination)
return redirect("index")
else:
form = AccountAuthenticationForm()
context['login_form'] = form
return render(request, "login.html", context)
def get_redirect_if_exists(request):
redirect = None
if request.GET:
if request.GET.get("next"):
redirect = str(request.GET.get("next"))
return redirect
Корневые_урлы:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include("vazimba.urls")),
path('account/', include("account.urls")),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
The_app_urls:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from .views import register_view, login_view, logout_view
urlpatterns = [
path('login/', login_view, name="login"),
path('logout/', logout_view, name="logout"),
path('register/', register_view, name="register"),
Шаблоны: ==> account(приложение) => templates/account/login.html
{% if user.is_authenticated %}
# html code-----
{% else %}
<div class="container">
<h1>home page</h1>
<h2>Vous vous êtes bien déconnecté, à bientôt!</h2>
<a href="{% url 'login' %}" class="btn btn-sm btn-primary">Login</a>
</div>
{% endif %}
Когда я нажимаю на кнопку входа, ничего не происходит, тогда он должен перенаправить меня на шаблон входа, правильно? Спасибо заранее!!!
поместить {% url 'your_app_name:login' %}
вместо {% url 'login' %}