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>
    
    #效果  
    


  • 相关阅读:
    silverlight中path对象使用总结
    推荐一款Silverlight数据列表控件AgDataGrid
    在silverlight中实现Marquee效果
    在silverlight中使用IsolateStore隔离存储(下)
    在silverlight中使用IsolateStore隔离存储(上)
    在Silverlight中使用DynamicMethod(动态方法)
    使用createObject(createObjectEx)创建silverlight对象
    在Silverlight中使用Json
    怎么这两天总能看到刺激我的好东西
    使silverlight适应IE窗口大小的方法
  • 原文地址:https://www.cnblogs.com/lixinliang/p/14116507.html
Copyright © 2011-2022 走看看