cherrypy@Tutorial 3: My URLs have paramets

关注微信公众号(瓠悠笑软件部落),一起学习,一起摸鱼
huyouxiao.com
在上一个教程中,我们已经了解了如何创建可以生成随机字符串的应用程序。 我们现在假设您希望动态指示该字符串的长度。

import random
import string

import cherrypy


class StringGenerator(object):
    @cherrypy.expose
    def index(self):
        return "Hello world!"

    @cherrypy.expose
    def generate(self, length=8):
        return ''.join(random.sample(string.hexdigits, int(length)))


if __name__ == '__main__':
    cherrypy.quickstart(StringGenerator())

将其保存到名为tut03.py的文件中,并按如下方式运行:

$ python tut03.py

现在转到http://localhost:8080/generate?length=16,您的浏览器将显示生成的长度为16的字符串。请注意我们如何从Python的默认参数值中获益,以支持URL,例如http://localhost:8080/generate 仍然生成8位长的字符串。

在这样的URL中,? 后面的部分被称为查询字符串。 传统上,查询字符串用于通过传递一组(键,值)对来对URL进行上下文化。 这些对的格式是key = value。 每对由&字符分隔。
注意我们如何将给定的长度值转换为整数。 实际上,值是作为字符串从客户端发送到我们的服务器的。
就像CherryPy将URL路径段映射到公开的函数一样,查询字符串键被映射到那些公开的函数参数。

猜你喜欢

转载自blog.csdn.net/fudaxing/article/details/88639992
my