用户登录不适用于django的默认用户身份验证

时间:2019-01-19 04:29:29

标签: django python-3.x

我是Django的新手,正在尝试使用Django的用户身份验证使用户登录到我的App。

注册工作正常,因此我的模型或注册视图没有问题(使用基于类的视图)。我试图从#include<iostream> using namespace std; int main() { int N; cin>>N; int flag=1; for(int i=2;i<=N;i++){ flag=1; for(int j=2;j<i;j++){ if(i%j==0){flag=0;break;} break; } if(flag==1){cout<<i<<" ";} } return 0; } 导入LoginView和LogoutView,并且在登录模板中设置了post方法。我不知道我在这里想念的是什么。用户不仅可以简单地登录,而且可以很好地进行注册。

这是account / urls.py

Django.contrib.auth.views

这是urls.py

from django.urls import path
from django.contrib.auth import views as auth_views
from . import views

app_name = 'accounts'

urlpatterns = [
    path('login/', 
auth_views.LoginView.as_view(template_name="accounts/login.html"),name = 
"login"),
path('logout/', auth_views.LogoutView.as_view(),name = "logout"),
path('signup/', views.SignUp.as_view(), name = "signup")
]

这是帐户应用中的登录模板(accounts / templates / accounts / login.html)

from django.contrib import admin
from django.urls import path,include
from . import views

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.HomePage.as_view(), name = "Home"),
path('accounts/', include('accounts.urls', namespace = "accounts")),
path('accounts/', include('django.contrib.auth.urls')),
path('test/', views.TestPage.as_view(), name = "Test"),
path('thanks/', views.ThanksPage.as_view(), name = "Thanks"),
]

这是models.py

{% extends "base.html" %}
{% load bootstrap3 %}
{% block mainContent %}

<div class = "container">
<h1> Hello! Lets Login </h1>
<form method = "POST">
    {% csrf_token %}
    {% bootstrap_form form %}
    <input type = "submit" class = "btn btn-primary" value = "Login"
</form>
</div>

 {% endblock %}

当我单击登录时,什么也没有发生。感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

尝试编辑您的 settings.py ...
把它放在底部...
LOGIN_REDIRECT_URL ='home'#您的应用首页,
尝试再次登录

答案 1 :(得分:0)

代码没有错。我只是有一些语法错误,一些代码不完整。

首先,Form的结束标签丢失。

第二,我为此添加了表单操作

<form method = "POST" action = "{% url 'login' %}">

第三,我还添加了表单错误标签,例如-

{% if form.errors %}
 <p>Your username and password didn't match. Please try again.</p>
{% endif %}