pycharm中做web应用(5)基于Django 做交互界面
预备知识
html 的form标签使用
本节主要为html语法小白设计,专家高手请跳过,form 标签用于为用户输入创建 HTML 表单。表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含 menus、textarea、fieldset、legend 和 label 元素,用于向服务器传输数据。例如:
表单中包含了2个文本域(Text fields),分别为firstname和lastname,用户可以在文本域写入文本,另外一个submit,值为:Submit
在浏览器端显示为:
html中的get和post
在html中,get方法通常用于请求服务器发送某个资源,而且应该是安全的和幂等的;POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理,两者的主要区别是:
1、传递数据方式不同
Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,数据都会直接显示在 url 上,就像用户点击一个链接一样。
Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理。
2、 处理效率不同
Get 方式需要使用 Request.QueryString 来取得变量的值。而 Post 方式通过 Request.Form 来访问提交的内容。Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好。
而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。
3、安全性不同
Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码。
实现部分
在template下的index.html中,增加form标签,显示两个输入文本框和一个提交按钮
重启服务器,刷新页面后,显示结果如下:
这样,交互界面的客户端输入部分就做好了。如何交互昵,我们下节继续说