-
在模板中(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的值永不过期
网友评论