仅注册用户的Django登录名,然后注销返回登录页面

时间:2018-08-13 11:39:40

标签: python login django-urls logout django-2.0

我已经在我的项目urls.py中创建了一个登录视图,

urlpatterns = [
 path('login/', views.LoginView.as_view(template_name='login.html'), name='login'),
]

login.html

<div class="container">
    <h2>Login</h2>
    <form action="\" method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Login</button>
    </form>
</div>

直到这里一切正常,我可以看到登录页面并登录。但是现在我可以使用任何匿名凭据登录,他们可以看到主页。 因此,如何将其限制为注册用户,然后注销他们。

1 个答案:

答案 0 :(得分:0)

当您将path('login/'...的内容添加到urls.py时,将无法访问主页。您需要通过在视图中添加login_required来明确禁止访问主页:

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
    ...

或者您可以将LoginRequiredMixin用于基于类的视图。或者,您也可以使用django-stronghold软件包。

相关问题