zoukankan      html  css  js  c++  java
  • 18-crm项目-kingadmin,完成crm用户认证登陆

    完成crm用户认证登陆

    {% extends 'base.html' %}
    
    {% block body %}
        <div class="container col-lg-offset-4 ">
          <form class="form-signin col-lg-3 pu " method="post"  role="form">{% csrf_token %}
            <h3 class="form-signin-heading">Oldboy PerfectCRM</h3>
            <input type="email"  name="email" class="form-control" placeholder="Email address" required autofocus>
            <input type="password" name="password" class="form-control" placeholder="Password" required>
            {% if errors %}
               <span style="color: red;">{{ errors.error }}</span>
            {% endif %}
            <div class="checkbox">
              <label>
                <input type="checkbox" value="remember-me"> Remember me
              </label>
            </div>
            <button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>
          </form>
    
        </div> <!-- /container -->
    
    {% endblock %}

    增加url路由

    from django.conf.urls import url,include
    from django.contrib import admin
    # admin.autodiscover()
    from PerfectCRM import views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^crm/', include("crm.urls")),
        url(r'^$', views.index),
        url(r'^account/login/$', views.acc_login),
        url(r'^account/logout/$', views.acc_logout,name="acc_logout"),
        url(r'^student/', include("student.urls")),
        url(r'^king_admin/', include("king_admin.urls")),
    ]

    增加视图:

    def acc_login(request):
    
        errors = {}
        if request.method == "POST":
            _email = request.POST.get("email")
            _password = request.POST.get("password")
    
            user = authenticate(username = _email, password = _password)
            if user:
                login(request,user)
                next_url = request.GET.get("next","/")
                return redirect(next_url)
            else:
                errors['error'] = "Wrong username or password!"
    
    
        return render(request,"login.html",{"errors":errors})

    对每一个视图进行登陆校验,使用了django自带的认证系统,

    from django.contrib.auth.decorators import login_required

    还需要一个登出

    def acc_logout(request):
    
        logout(request)
    
        return redirect("/account/login/")

    ###################################

  • 相关阅读:
    清除浮动
    版心和布局流程
    浮动(float)
    盒子模型(CSS重点)
    CSS 三大特性
    CSS 背景(background)
    移动web开发之rem布局
    .移动端常见布局
    移动端基础
    CSS高级技巧
  • 原文地址:https://www.cnblogs.com/andy0816/p/13794777.html
Copyright © 2011-2022 走看看