如何编写在网页上同时显示文本和图像的Python WSGI应用程序
我见过一些简单的wsgi应用程序,它们在网页上显示如何编写在网页上同时显示文本和图像的Python WSGI应用程序,python,wsgi,Python,Wsgi,我见过一些简单的wsgi应用程序,它们在网页上显示helloworld或PNG图像(但不是两者都显示) 第一页使用'Content-type','text/html;charset=utf-8',第二个使用'content-type','image/png' 如何编写一个简单的应用程序(比如说wsgiref.simple\u server.make\u server),在同一网页上同时发送text/html和image/png 基本上,如果我理解正确的话,你不能。您的HTML代码中需要有一个,该
helloworld
或PNG图像(但不是两者都显示)
第一页使用'Content-type','text/html;charset=utf-8'
,第二个使用'content-type','image/png'
如何编写一个简单的应用程序(比如说
wsgiref.simple\u server.make\u server
),在同一网页上同时发送text/html
和image/png
基本上,如果我理解正确的话,你不能。您的HTML代码中需要有一个
,该路径需要作为静态图像使用,或者作为对同一WSGI服务器的第二个请求,该服务器将为您提供一个具有适当内容类型的png raw
所以,让我详细说明一下
例如,您有一个请求路径,该路径将返回一个HTML,其中内容类型
设置为文本/HTML
,并且在该HTML中您将有:
<img src="http://server.com/myimage">
然后,在WSGI应用程序中,您可以实现两条路线:
/mypage
返回HTML
/myimage
返回PNG图像
httpd.serve_ever()只需扮演一下魔鬼代言人的角色。。。虽然不能在同一个网页上同时包含text/html和image/png,但可以发送一个text/html响应,该响应具有内联css样式,该样式使用数据URI方案在html中包含png的base64编码表示。哦,我的:)我想这是一个非常有创意的实现,可以工作,我不会马上想到那件事。但我不确定是否有人希望将其作为标准实现,而不是作为学术练习。事实上,它在生产中非常有用。我认识的许多人都有构建/部署脚本,这些脚本使用数据URI将通常使用的较小图像粘贴到CSS中,以简化内容交付和缓存。它可以节省一些不一定在同一台服务器上的请求,从而从keepalive连接中获益,并在CDN上增加额外的计费。但是在这个用例场景的上下文中,这完全是一个学术上的黑客行为。我可以纠正。谢谢你的信息,我不知道!调查一下!这可能是一个伟大的战略。这里有一个很好的正面入门-请注意,这个问题特别提到了如何编写
,而不是为我提供一个
,所以这不是很有帮助。请添加更多关于其工作原因或方式的说明,而不仅仅是提供。
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
def simple_app(environ, start_response):
setup_testing_defaults(environ)
path = str( environ['PATH_INFO']
headers = [('Server', 'Apache'),('Content-type', 'text/html')]
rsp = 'oops'
if '.html' in path:
rsp = some_html
if '.png' in path:
headers = [('Server', 'Apache'),('Content-type', 'image/png')]
rsp = some_png
start_response(status, headers)
return rsp
httpd = make_server('', 8008, simple_app)
print "Serving on port 8000..."