美文网首页
跟着销售学python12-post是干嘛的?(10)

跟着销售学python12-post是干嘛的?(10)

作者: 日月山人 | 来源:发表于2015-05-15 14:54 被阅读120次

    知识点:
    1、python 变量是区分大小写。
    2、web.input()
    3、防止符号转义
    4、数据库的like,%的含义
    5、什么是类的操作符重载?
    6、gost和get参数冲突了怎么办?

    上堂笔记我们很简单的说了http协议, 接下来我们来继续看post能做什么?

    网上有很多get和post区别, 我们的重点自己理解,还需要自己实践。

    就目前我们掌握的知识:

    GET

    URL结构中,会用来传递。网站访问url结构,就是用get模式,能用post模式无法访问。

    诞生http协议后,是先有get, 后有的post, 再没有post之前,浏览器和服务器是就是通过get传输数据, 具体方法就是url结构,利用url?变量=值来传输。服务器通过get收到
    我们来补充一个get代码。

    import web
    urls =  ('/',index)
    app =web.application(urls,gobals())
    
    class Index:
         def GET(self):
                data = web.input()
                return '<h1>' + data.id +'</h1>'
    
    $def with (movies)
    
    $movies
    

    浏览器: http://localhost:8080/?id=2
    浏览器显示2
    现在可以理解了吧,?代表查询。代表可以使用web.input.
    如果是/?id=1&name=jack

    POST呢?

    用于用户提交数据和服务器互动,比如搜索系统,下面我们来准备一下:

    1:数据库move 以前我们建立过

    2:app.py

    import web
    urls = ('/',Index,'/move/(/d+),'Movies')
    render = render.template('templates/')
    db = web.database( dbn= 'sqlite' , db ='movesite.db') 
    app = web.applicationo(urls,gloabls())
    
    class Index:
            def GET:
                      moves = db.select('move')
                      return render.index(moves)
             def  POST:
                        data =web.input()
                        condition = r ' name like "% ' +data.title+ r'%'''
                        searchlist = db.select('move',where = condition,vars=locals())
                         return render.index(searchlist)
    
    if __name__ = '__main__":
            app.run()
    
    
    $def with (move)
    
    <html>
    <head></head>
    
    <body>
    <form action='/'  method = 'post'>
    
    <input  type = 'text'  name = 'title' />
    <input type='submit' value='搜索‘/>
    </form>
    
    <h1>$move</h1>
    <h2>年份$move.year</h2>
    
    
    </body>
    
    </html>
    
    
    ``
    
       目前上面的程序有问题,错误的地方待修正。
    
    
       以上是app.py, 都是自己敲上去的,加强自己的理解,里面有三个新的知识,
    
    
    + 第一个是web.input
       [官方文档]( http://webpy.org/cookbook/input.zh-cn )
    +第二个是r''
         防止转义字符, 如\t,我们都知道是table,但是我们确实需要\t呢, 这就需要r.
          a = r'\t'
          print a
    
    +第三个是 selct * form  数据库  where  列 like "%name%' ,like的含义和%的含义。
       like: 是模糊查询,如我们要找,张三, 搜索张,就可以找到跟张有关的值相关列。
        % : 代表a%-匹配a开头,如张撒的。
                      %a, -- 匹配a结尾的。
    
    
    
    ##困惑未解决##:
    1、?id=3&name =li
           文档中web.input(id=[]) , 语法错误
    
          错误, 估计中文翻译,id={}
    
            函数参数确实奇怪, 如下面:
               data= web.input(name='lixiang',id=3)
                这个属于初始,默认值不过id={}, 应该说的是id=1&id=3
    
    
    
    
    
    
    

    相关文章

      网友评论

          本文标题:跟着销售学python12-post是干嘛的?(10)

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