美文网首页
Django模板中的数据到后台

Django模板中的数据到后台

作者: 上帝大人 | 来源:发表于2019-04-24 20:17 被阅读0次
  • 在模板中(html页面)的input或者select要有其各自的name,并且这些要放在form中,form的method为post,action属性为/app名字/视图处理函数,然后在相应的视图处理函数中就可以用request.POST.get(' input,select的名字 ')。
  • 其中要说明的一点是,app名字前面有斜线,他表示在一个ip地址的根目录中,不加斜线,会在当前的路径下。例如

你现在在http://127.0.0.1:8000/app/login,然后调用函数后,带斜线会在http://127.0.0.1:8000/,而不带斜线可能会在http://127.0.0.1:8000/app/login/你的函数,错误的书写可能会导致404错误。总之,带斜线就回到了根,不带就是在当前目录下

  • 在前端页面可以控制输入的信息,利用js,字段不能为空这种基本的可以在input的属性中设置其required属性,表示可以为空,没有值。

  • return的对象 可以是HttpResponse(' 字符串')还可以是render(' 模板中的页面 '),还可以重定向(redirect(‘login/welcom’))没带html为另一个页面,但是必须和url建立起关联,此时,urls.py中,有一个path('welcom',views.函数名)

状态的保持

  • 可以是cookie,保存在客户端,但是不安全,可以是session,保存在服务器端。

怎么创建cookie呢,我们在函数中创建一个HttpResponse对象,然后调用这个对象的 . set_cookie方法,然后再返回这个HTTPResponse对象。

当然cookie的值是可以被读取的(cookie的中存储的是键值对假设我们存的是ck: zhangsan),我们可以在这个函数加个条件

text= '  '
if( ck in request.COOKIE)
        text = request.COOKIE.get(' ck ')
return HttpResponse( text )
  • 当我们第一次访问之前,cookie中是没有任何东西的,所以返回值是空白,访问后,我们给它设置了一对键值对,ck:shangsan,当我们第二次访问的时候,有ck的信息,所以返回值是zhangsan。

session的创建要使用request对象

放  request.session[ ' 键' ] = 值
取 request.session.get( ' 键 ' )
清除session中值的部分 request.session.clear()
清除session整条的数据 request.session.flush()
删除session中指定的键和值 del request.session[ ' 键 ' ]
设置session的超时时间 request.session.set_expiry(value)
       value为整数时,读秒结束后清除session
       value为0时,关闭浏览器就清除session
        value为None时,表示session的值永不过期

相关文章

网友评论

      本文标题:Django模板中的数据到后台

      本文链接:https://www.haomeiwen.com/subject/bwvggqtx.html