zoukankan      html  css  js  c++  java
  • Django session应用-显示个人信息

    需求

    请求 http://127.0.0.1:8000/student/login/ 登录后显示个人信息

    流程

    #新建工程 test32
    #新建项目 stu
    #修改 settings.py
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'stu'
    ]
    #修改urls.py
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^student/',include('stu.urls'))
    ]
    #修改子路由 stu/urls.py
    import views
    urlpatterns = [
        url(r'^login/$',views.index_login),
        url(r'^usercenter/$',views.usercenter)
    ]
    
    #修改 stu/views.py
    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.http import HttpResponse, HttpResponseRedirect
    from django.shortcuts import render
    
    # Create your views here.
    class User(object):
        def __init__(self,uname,pwd):
            self.uname = uname
            self.pwd = pwd
    
    import jsonpickle
    
    def index_login(request):
        if request.method == 'GET':
            return render(request,'login.html')
        else:
            #接收请求参数
            uname = request.POST.get('uname')
            pwd = request.POST.get('pwd')
            #判断
            if uname == 'zhangsan' and pwd == '123':
                user = User(uname,pwd)
                # jsonpickle.dumps(user)  将python对象序列化成普通字符串
                request.session['login'] = jsonpickle.dumps(user)
                return HttpResponseRedirect('/student/usercenter/')
    
            else:
                return HttpResponseRedirect('/student/login/')
    
    def usercenter(request):
        #获取session 中的数据
        user = request.session['login']
        # jsonpickle.loads(user) 将普通字符串反序列化成python对象
        uuser = jsonpickle.loads(user)
        return render(request,'center.html',{'user':uuser})
    
    #新增加 templates/login.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="/student/login/" method="post">
        {% csrf_token %}
            <p>姓名:<input type="text" name="uname"/></p>
            <p>密码:<input type="password" name="pwd"/></p>
            <p><input type="submit" value="login"/></p>
    </form>
    </body>
    </html>
    
    
    #新增加 templates/center.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h3>欢迎账号{{ user.uname }}登录成功</h3>
    </body>
    </html>
    
    #效果  
    


  • 相关阅读:
    Mybatis完成CRUD(四)
    Log4j日志配置
    Mybatis学习笔记(二)配置文件
    Mybatis学习笔记(一)入门例子
    jquery自动将form表单封装成json
    SpringMVC学习笔记(六)
    springMVC学习笔记(五)
    Oracle 数据库语句大全
    J a v a 的“多重继承”
    接口--interface
  • 原文地址:https://www.cnblogs.com/lixinliang/p/14116507.html
Copyright © 2011-2022 走看看