Django完整入门指南-第4部分-4登录

登录

首先,添加一个新的URL路由:

myproject / urls.py

 from django.conf.urls import url from django.contrib import admin from django.contrib.auth import views as auth_views from accounts import views as accounts_views from boards import views urlpatterns = [ url ( r'^$' , views . home , name = 'home' ), url ( r'^signup/$' , accounts_views . signup , name = 'signup' ), url ( r'^login/$' , auth_views . LoginView . as_view ( template_name = 'login.html' ), name = 'login' ), url ( r'^logout/$' , auth_views . LogoutView . as_view (), name = 'logout' ), url ( r'^boards/(?P<pk> \ d+)/$' , views . board_topics , name = 'board_topics' ), url ( r'^boards/(?P<pk> \ d+)/new/$' , views . new_topic , name = 'new_topic' ), url ( r'^admin/' , admin . site . urls ), ] 

as_view()内部,我们可以传递一些额外的参数,以便覆盖默认值。 在这种情况下,我们指示LoginViewlogin.html上查找模板。

编辑settings.py并添加以下配置:

myproject / settings.py

 LOGIN_REDIRECT_URL = 'home' 

此配置告诉Django成功登录后将用户重定向到何处。

最后,将登录URL添加到base.html模板中:

templates / base.html

 <a href= " {% url 'login' %} " class= "btn btn-outline-secondary" > Log in </a> 

我们可以创建一个类似于注册页面的模板。 创建一个名为login.html的新文件:

templates / login.html

 {% extends 'base.html' %} {% load static %} {% block stylesheet %} <link rel= "stylesheet" href= " {% static 'css/accounts.css' %} " > {% endblock %} {% block body %} <div class= "container" > <h1 class= "text-center logo my-4" > <a href= " {% url 'home' %} " > Django Boards </a> </h1> <div class= "row justify-content-center" > <div class= "col-lg-4 col-md-6 col-sm-8" > <div class= "card" > <div class= "card-body" > <h3 class= "card-title" > Log in </h3> <form method= "post" novalidate > {% csrf_token %} {% include 'includes/form.html' %} <button type= "submit" class= "btn btn-primary btn-block" > Log in </button> </form> </div> <div class= "card-footer text-mu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值