返回顶部
首页 > 资讯 > 后端开发 > Python >浅析Python的web.py框架中url的设定方法
  • 744
分享到

浅析Python的web.py框架中url的设定方法

框架方法web 2022-06-04 18:06:51 744人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

网页中的数据在传递的时候有GET和POST两种方式,GET是以网址的形式传参数,在WEB.py中有着很好的匹配,如果我们配置以下的urls urls =( '/','index', '/we

网页中的数据在传递的时候有GET和POST两种方式,GET是以网址的形式传参数,在WEB.py中有着很好的匹配,如果我们配置以下的urls


 urls =(
  '/','index',
  '/weixin/(.*?)','WeixinInterface'
  
  )

先不考虑/weixin/后面的东西,现在我们来写index的类


 class index:
  def GET(self):
    i = web.input(name = 'kevinkelin',age = 100)     
    return render.index(i.name,i.age)

随便写一个index.html模板文件


 $def with(name,age)
$if name:
  I just want to say <em>hello</em> to $name, he is $age years old
$else:
  <em>hello</em>,world!

当访问Http://127.0.0.1:8080/ 此时没有传递name与age的值,由于我的GET函数里定义了默认的name与age的值,所以程序会将kevinkelin与26传递到模板中去得到以下的输出


I just want to say hello to kevinkelin, he is 100 years old

当访问http://127.0.0.1:8080/?name=yyx&age=26 即向GET函数中传递name = yyx and age = 26的时候得到以下的输出


I just want to say hello to yyx, he is 26 years old

我们也可以不定义默认的的参数,即定义为空


i = web.input(name = None,age = None)

当访问http://127.0.0.1:8080/ 的时候将会得到 hello,world!的输出即模板中的else
但是如果你不定义name和age将会出错


i = web.input()

这是因为后面你将i.name与i.age分配到模板当中去,但是全局变量里又没有这两个变量,所以会报错
但有时我们想这样传递参数,不想加那个“?”这时我们得要更改urls规则


 urls =(
  '/name=(.*)&age=(.*)','index',
  '/weixin/(.*?)','WeixinInterface'  
  )

重新写class index


 class index:
  def GET(self,name,age):
    return render.index(name,age)

这里是将url的参数通过正则匹配然后传递到index类中的GET的参数中
当访问http://127.0.0.1:8080/name=yyx&age=26 时将得到


I just want to say hello to yyx, he is 26 years old

第二种方法看似简单,但其实不好控制,要求写的正则工作量加大了
如果我想知道到底有多少参数通过GET方式传递过来,我可以直接return 来看一下到底有哪些传递过来了
接下来看一下post来的数据:
我们可以制作一个简单的表单或者直接使用fiddler来构造数据进行POST传值


def POST(self):
    data = web.data()    
    return data

查看图片

我想看一下得到的数据类型


return type(data)

得到的是<type 'str'>,也就是说web.py已经将post的数据转换成了str类型
那么我来试一下传递xml


 <xml>
<ToUserName>yanxingyang</ToUserName>
<FromUserName>study_python</FromUserName>
<CreateTime>123456</CreateTime>
<MsgType>text</MsgType>
<Content>Just a test</Content>
</xml>

其实这个微信的XML格式做了一些更改,我来试着使用lxml对它进行解析


from lxml import etree
data = web.data()
xml = etree.fromstring(data)
content = xml.find(‘Content').text
return content

得到的结果很好

查看图片

--结束END--

本文标题: 浅析Python的web.py框架中url的设定方法

本文链接: https://lsjlt.com/news/14504.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅析Python的web.py框架中url的设定方法
    网页中的数据在传递的时候有GET和POST两种方式,GET是以网址的形式传参数,在web.py中有着很好的匹配,如果我们配置以下的urls urls =( '/','index', '/we...
    99+
    2022-06-04
    框架 方法 web
  • 深入浅析Java中的Junit框架
    本篇文章为大家展示了深入浅析Java中的Junit框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。junit(单元测试框架)目前存在的问题目前的测试方法如果需要测试,都需要在main方法上调用目前...
    99+
    2023-05-31
    java junit ava
  • 浅析java中常用的定时任务框架-单体
    目录一、阅读收获二、本章源码下载三、Timer+TimerTask四、ScheduledExecutorService五、Spring Task5.1 单线程串行执行-@Schedu...
    99+
    2024-04-02
  • python脚本框架webpy的url映射举例分析
    本篇内容主要讲解“python脚本框架webpy的url映射举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python脚本框架webpy的url映射举例分析”吧!URL完全匹配(具体的u...
    99+
    2023-06-25
  • python对url格式解析的方法
    本文实例讲述了python对url格式解析的方法。分享给大家供大家参考。具体分析如下: python针对url格式的解析,可根据指定的完整URL解析出url地址的各个部分 1 2 3 4 5 6 7 8 9 ...
    99+
    2023-01-31
    格式 方法 python
  • Python中的Unittest框架的用法
    本篇内容主要讲解“Python中的Unittest框架的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的Unittest框架的用法”吧!  Unittest  1.环境  Un...
    99+
    2023-06-02
  • 实例解析Python的Twisted框架中Deferred对象的用法
    Deferred对象结构 Deferred由一系列成对的回调链组成,每一对都包含一个用于处理成功的回调(callbacks)和一个用于处理错误的回调(errbacks)。初始状态下,deffereds将由两...
    99+
    2022-06-04
    框架 实例 对象
  • 浅析Linux root设置初始值的方法
    ubuntu默认不允许使用root登录,因mcCLIIUhq此初始root账户是不能使用的,需要在普通账户下利用sudo权限修改root密码。 在终端输入sudo passwd root,按回车,然后系统会提示你输入普通...
    99+
    2022-06-04
    Linux root初始值 Linux root 密码
  • 浅析go语言设置网卡的方法
    Go是一门跨平台的编程语言,拥有强大的网络编程库,可以满足各种网络编程需求。在实际应用中,我们经常需要控制网络接口,例如设置网卡IP地址、MAC地址等。本文将介绍如何使用Go语言设置网卡。获取网卡列表在Go语言中,可以通过net.Inter...
    99+
    2023-05-14
  • 从源码解析Python的Flask框架中request对象的用法
    from flask import request Flask 是一个人气非常高的Python Web框架,笔者也拿它写过一些大大小小的项目,Flask 有一个特性我非常的喜欢,就是无论在什么地方,如果你想...
    99+
    2022-06-04
    源码 框架 对象
  • Python中flask框架跨域问题的解决方法
    目录一、跨域是什么二、如何解决跨域问题总结一、跨域是什么 从一个域名去请求另一个域名,这个过程称之为跨域。浏览器从一个域名的网页去请求另一个域名的资源,域名、端口、协议有一个不一样,...
    99+
    2024-04-02
  • 浅析golang中JSON的使用方法
    Go是一门功能齐全的编程语言,同时也是一门非常流行的编程语言。它的一个强大之处就是对JSON的处理。JSON是一种轻量级的数据交换格式,非常适合用于Web应用程序中的数据交换。在golang中,处理JSON数据非常简单且高效。让我们来了解一...
    99+
    2023-05-14
  • Python中的数据分析框架 Ibis 介绍
    Python中的数据分析框架 Ibis 介绍,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言Ibis 是一个新的 Python 数据分析框架,目标是让数据科学家和数据工程师们...
    99+
    2023-06-02
  • Java中哪些方法可用于Shell框架的重定向?
    在Java编程中,Shell框架是一个非常重要的部分。Shell框架可以帮助我们快速而方便地执行各种系统命令和脚本。然而,在执行Shell命令时,有时候需要将命令的输出重定向到文件或其他输出设备中。本文将介绍Java中哪些方法可用于She...
    99+
    2023-06-14
    重定向 shell 框架
  • php中kohana框架的配置方法
    这篇文章给大家分享的是有关php中kohana框架的配置方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以...
    99+
    2023-06-14
  • php中Libevent框架的使用方法
    这篇文章主要介绍php中Libevent框架的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自...
    99+
    2023-06-14
  • 详解Python的Flask框架中生成SECRET_KEY密钥的方法
    引子 如果遇到了 Must provide secret_key to use csrf错误提醒,原因就是没有设置secret_key ,在代码中加上 app.config[‘SECRET_KEY‘]...
    99+
    2022-06-04
    密钥 详解 框架
  • Python的Flask框架的简介和安装方法
    请在开始使用 Flask 之前阅读本文。也希望本文能够回答关于 Flask 项目的初衷以及目标,以及 flask 适用的场景(情境)等问题。 什么是 “微”? “微” (“Micro”) 并不是意味着把整个...
    99+
    2022-06-04
    框架 简介 方法
  • Python中绑定与未绑定的类方法用法分析
    本文实例讲述了Python中绑定与未绑定的类方法。分享给大家供大家参考,具体如下: 像函数一样,Python中的类方法也是一种对象。由于既可以通过实例也可以通过类来访问方法,所以在Python里有两种风格:...
    99+
    2022-06-04
    绑定 方法 Python
  • python中SQLAlchemy框架的用法是什么
    SQLAlchemy是一个Python的ORM(对象关系映射)工具,它提供了一种在Python中操作关系型数据库的方式,并且支持多种...
    99+
    2024-04-09
    python SQLAlchemy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作