zoukankan      html  css  js  c++  java
  • 13-会话技术及表单(cookies和session)

    13-会话技术及表单(cookies和session)

    01-什么是Cookies

    02-Cookie常用参数

    03-使用session

    04-django表单介绍,及简单表单的操作

    01-什么是Cookies

    cookies设置的原因: 1. http请求的无记忆性; 2.加快访问速度  3. 减少服务器压力

    cookies特点:

    cookies保存在客户端浏览器上的键值对,且每次访问页面都会带着cookies

    cookies可以主动清除

    cookies也可以被"伪造",可以被别人带着cookies操作你的账号

    cookies会根据域名进行分类,不能跨域共享,也就是说百度有百度的,JD有京东的

    cookies必须请求数据成功后才能有用哈

    浏览器可以设置不接收Cookies

    服务器端设置的cookies

    cookies可以设置超时时间, max_age=10

    02-Cookie常用参数

    ·key:键

    ·value:值

    ·max_age:多久后过期,时间为秒

    ·expires:过期时间,为具体时间

    ·path:生效路径

    ·domain:生效的域名

    ·secure:HTTPS传输时应设置为true

    ·httponly:值应用于http传输,JavaScript无法获取

    实例

    1 def index(request):
    2     times = request.COOKIES.get('times')
    3     if times:   # 如果存在就加次数1
    4         times = str(int(times)+1)
    5     else:   # 如果不存在就定义这1
    6         times ='1'
    7     responst = render(request,'teacher/index.html',context={'times':times})
    8     responst.set_cookie('times', times, max_age=10)   # 把参数加入到COOKIE
    9     return responst

    使用session:

    启用会话后,每个HttpRequest对象将具有一个session属性,它是一个类字典对象

    - get(key, default=None):根据键获取会话的值

    - clear():清除所有会话

    - flush():删除当前的会话数据并删除会话的Cookie

    - del request.session['member_id']-:删除

     1 def login(request):
     2     if request.method == 'POST':
     3         username = request.POST.get('username')
     4         passwork = request.POST.get('password')
     5         if username == 'guang' and passwork == '123':
     6             request.session['name'] = username
     7             request.session.set_expiry(600)
     8             return redirect('/teacher/index/')
     9     else:
    10      return render(request,'teacher/login.html')
    # session的使用
    def index(request):
        name = request.session.get('name') #  检查是否已登录
        if not name:
            return redirect('/teacher/login/')   #反回登录页面
        #已经登录就执行程序
    # 用户退出登录 
    
    def logout(request):    # 用户退出模型
        request.session.flush()   # 删除session信息
        return redirect('teacher/login.html')  # 返回登录页面

     

    04-django表单介绍,及简单表单的操作

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解。

    Form表单的功能

    • 自动生成HTML表单元素
    • 检查表单数据的合法性
    • 如果验证错误,重新显示表单(数据不会重置)
    • 数据类型转换(字符类型的数据转换成相应的Python类型)

    Form相关的对象包括

    • Widget:用来渲染成HTML元素的工具,如:forms.Textarea对应HTML中的<textarea>标签
    • Field:Form对象中的一个字段,如:EmailField表示email字段,如果这个字段不是有效的email格式,就会产生错误。
    • Form:一系列Field对象的集合,负责验证和显示HTML元素
    • Form Media:用来渲染表单的CSS和JavaScript资源。

    Form Objects

    Form对象封装了一系列Field和验证规则,Form类都必须直接或间接继承自django.forms.Form,

    django模型字段和表单字段对应

    例子:

    forms:

    views:

    html:

  • 相关阅读:
    .net百度编辑器的使用
    phpstudy远程连接mysql
    HDU-2389 Rain on your Parade
    HDU-2768 Cat vs. Dog
    HDU-1151 Air Raid
    HDU-1507 Uncle Tom's Inherited Land*
    HDU-1528/1962 Card Game Cheater
    HDU-3360 National Treasures
    HDU-2413 Against Mammoths
    HDU-1045 Fire Net
  • 原文地址:https://www.cnblogs.com/jun-1024/p/10842784.html
Copyright © 2011-2022 走看看