Вход в систему Django не работает. Страница просто обновляет новую страницу входа
У меня есть проект под названием django_swing. В этом проекте у меня есть 2 разных приложения. Одно - интерфейс, а другое - пользователи. В папке django_swing для urls.py у меня есть следующее:
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
В файле login.html у меня есть следующее:
<form action="#">
<div class="form-group">
<label for="username">Username</label>
<input class="form-control" type="text" id="username" required="" placeholder="Enter username">
</div>
<div class="form-group">
<a href="pages-recoverpw.html" class="text-muted float-right"><small>Forgot your password?</small></a>
<label for="password">Password</label>
<div class="input-group input-group-merge">
<input type="password" id="password" class="form-control" placeholder="Enter password">
<div class="input-group-append" data-password="false">
<div class="input-group-text">
<span class="password-eye"></span>
</div>
</div>
</div>
</div>
<div class="form-group mb-3">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="checkbox-signin" checked>
<label class="custom-control-label" for="checkbox-signin">Remember me</label>
</div>
</div>
<div class="form-group mb-0 text-center">
<button class="btn btn-primary" type="submit"> Log In </button>
</div>
</form>
В папке интерфейса для urls.py у меня есть следующее:
path('', views.home, name='interface-home'),
В папке interface для файла views.py у меня есть следующее:
def home(request):
return render(request, 'interface/home.html', {'title':'Home'} )
У меня есть файл home.html. Поскольку он очень длинный, я не могу вставить его сюда. Когда я запускаю проект, на 127.0.0.1 загружается страница home.html.
Последнее, в папке django_swing для settings.py у меня есть следующее в нижней части файла:
STATIC_URL = '/static/'
LOGIN_REDIRECT_URL='interface-home'
LOGIN_URL = 'login'
Но когда я захожу на 127.0.0.1/login
и вхожу под только что созданной учетной записью, а затем нажимаю кнопку входа, страница обновляется с той же страницей входа, а url становится http://127.0.0.1:8000/login/?#
. Он не переходит на interface-home
, как объявлено в settings.py. Может ли кто-нибудь подсказать мне, как решить эту проблему? Я начинающий в этом деле. Большое спасибо!
После редактирования указанных ошибок, я нажимаю войти и получаю эту ошибку страница не найдена для login/post
Как же так?
Ваш шаблон имеет несколько проблем
Метод вашей формы должен быть "post", представление входа ожидает POST-запрос, и вы не должны передавать ничего в атрибуте action
<form method="post">
Вам также необходимо предоставить параметры "name" для ваших входов, чтобы их значения были представлены с этим именем
<input id="username" name="username" ... >
<input id="password" name="password" ... >