编程语言
首页 > 编程语言> > python – 如何使用cherrypy动态生成图形

python – 如何使用cherrypy动态生成图形

作者:互联网

我正在使用cherrypy开发一个小型Web应用程序,我想从存储在数据库中的数据生成一些图表.带有表格的网页很简单,我打算使用matplotlib作为图形本身,但是如何设置方法的内容类型以便它们返回图像而不是纯文本?请不要“嗅”结果并自动更改内容类型?

解决方法:

您需要在app config中使用response.headers工具或在handler方法中手动设置响应的content-type标头.

在处理程序方法中,Cherrypy Tools wiki的MimeDecorator页面上有两个选项.

在方法体中:

def hello(self):
    cherrypy.response.headers['Content-Type']= 'image/png'
    return generate_image_data()

或者使用Cherrypy 3中的工具装饰器:

@cherrypy.tools.response_headers([('Content-Type', 'image/png')])
def hello(self):
    return generate_image_data()

维基还定义了一个自定义装饰器:

def mimetype(type):
    def decorate(func):
        def wrapper(*args, **kwargs):
            cherrypy.response.headers['Content-Type'] = type
            return func(*args, **kwargs)
        return wrapper
    return decorate

class MyClass:        
    @mimetype("image/png")
    def hello(self):
        return generate_image_data()

标签:python,graph,dynamic,cherrypy
来源: https://codeday.me/bug/20190827/1742308.html