Django изменение представления входа в систему не имеет эффекта
Короче говоря: неважно, что я делаю с представлением входа, это не меняет поведение формы входа, я могу полностью удалить мои представления (и урлы), и это все еще работает, так что, должно быть, он берет это откуда-то еще. Откуда и как мне это изменить?
Длинная версия: Я следовал руководству по реализации входа, выхода и регистрации с помощью встроенных функций django, это действительно работает хорошо, но когда я пытался изменить представление входа, я понял, что независимо от того, что я пытался сделать в представлении, это не изменит поведение (я пытался перенаправить на другую страницу, если пользователь уже был зарегистрирован, например). Я начал играть вокруг, чтобы посмотреть, что я могу изменить и как это отразится, даже добавил отпечатки, но ничего не произошло, пока я не решил попробовать заменить весь код внутри функции представления входа на pass
, И ЭТО ВСЕ ЕЩЕ РАБОТАЛО! То же самое происходит и с представлением выхода из системы, но не происходит с представлением регистрации.
Я не могу понять, что происходит. Я пытался найти что-нибудь в Интернете, но не смог найти ничего, связанного именно с этим вопросом.
Это views.py
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages
from django.contrib.auth.forms import UserCreationForm
def login_usuario(request):
pass
def logout_usuario(request):
logout(request)
messages.success(request, 'Hasta la próxima')
return redirect('home') #home is not defined and there's no error
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data['username']
password = form.cleaned_data['password1']
user = authenticate(username=username, password=password)
login(request, user)
messages.success(request, ("El usuario ha sido creado"))
return redirect('home')
else:
form = UserCreationForm()
return render(request, 'registration/registro.html', {'form': form})
Это usuarios/urls.py
from django.urls import path
from . import views
app_name = 'usuarios'
urlpatterns = [
path('register/', views.register, name="register"),
path('login/', views.login_usuario, name="login"),
path('logout/', views.logout_usuario, name="logout"),
]
Это проект urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('mgmt.urls')),
path('', include('blog.urls')),
path('', include('django.contrib.auth.urls')),
path('', include('usuarios.urls')),
]
А это шаблон login.html
{% extends 'base.html' %}
{% load static %}
{% block title %}LOGIN{% endblock %}
{% block content %}
<h2>LOGIN</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">INGRESAR</button>
</form>
{% endblock %}