zoukankan      html  css  js  c++  java
  • 用户登出和dashboard

    示例

    from django.shortcuts import render
    from django.contrib.auth import authenticate,login,logout
    from django.http import HttpResponse,JsonResponse,HttpResponseRedirect
    from django.urls import reverse
    
    # Create your views here.
    def login_view(request):
        if request.method=="GET":
            return render(request,"public/login.html")
        else:
            username=request.POST.get("username","")#给一个空的默认值防止报错
            userpass=request.POST.get("password","")#
            print(username,userpass)
            user = authenticate(username=username,password=userpass)
            ret = {"status":0,"errmsg":""} #定义一个输出,字典转成json格式传给前端,json格式对于前端js就是一个对象可以进行处理,定义status=0为正常
            if user:
                login(request,user)
    #            return HttpResponse("用户登录成功")
                ret['next_url'] = request.GET.get("next") if request.GET.get("next",None) else "/dashboard"
            else:
                ret['status'] = 1
                ret['errmsg']="用户名或密码错误,请联系管理员"
            return JsonResponse(ret)
    def logout_view(request):   #退出登录
        logout(request)
        return HttpResponseRedirect(reverse("user_login")) #reverse 把url的名字转换成url

    url配置

    from django.conf.urls import include, url
    from . import views
    urlpatterns = [
    url(r'^login/$', views.login_view, name='user_login'),
    url(r'^logout/$', views.login_view, name='user_logout'),
    url(r'^user/list/$', views.login_view, name='user_list'),
    ]
    

     dashboard的配置

    from django.shortcuts import render
    
    # Create your views here.
    from django.http import HttpResponse,JsonResponse
    from django.template import Context,loader
    from django.contrib.auth.decorators import login_required
    @login_required   #首页认证
    def index(request):
    	return render(request,"index.html")
    

     1.函数视图

      接收一个request参数(HttpRequest) 

      返回一个HttpResponse对象

     2.QueryDict对象

      GET/POST

      get请求数据放在request.GET里面  

      post请求数据放在request.POST里面

    例如  ?a=1&b=2&b=3

    取值方法:  request.GET.get("a")   request.GET.get("b"),

    request.POST.get("a")   request.POST.get("b"),

  • 相关阅读:
    Week03-面向对象入门
    Week02-Java基本语法与类库
    201621123056 《Java程序设计》第1周学习总结
    2.2确定一个字符是否在指定范围内
    2.1确定一个char包含何种字符
    1.自己写一个计算器demo
    1.23 确定一个Decimal或Double的整数部分
    1.5 测试奇偶性
    1.2度转化为弧度 1.3弧度转换为度
    1.1确定分数与浮点数值之间的近似相等性。
  • 原文地址:https://www.cnblogs.com/jiaqili/p/14550788.html
Copyright © 2011-2022 走看看