如何编写在网页上同时显示文本和图像的Python WSGI应用程序

时间:2012-10-23 01:07:21

标签: python wsgi

我见过简单的wsgi应用程序,它们在网页上显示Hello World或PNG图像(但不是两者)。

第一页使用'Content-type', 'text/html; charset=utf-8',第二页使用'content-type', 'image/png'

如何编写一个简单的应用程序(使用说wsgiref.simple_server.make_server)在SAME网页上发送text/htmlimage/png

2 个答案:

答案 0 :(得分:0)

基本上,如果我理解正确,你就不能。您的HTML代码需要在其中包含<img src="path/url/to/image.png">,并且该路径需要作为静态图像提供,或者是对同一WSGI服务器的第二个请求,它将为您提供正确的{ 1}}。

所以,让我详细说明。

说,您有http://server.com/mypage的请求路径,该路径会返回一个Content-type设置为Content-type的HTML,并且您将拥有该HTML:

text/html

然后,在您的WSGI应用程序中,您实现了两个路径:

  1. <img src="http://server.com/myimage"> 为您提供HTML回复
  2. /mypage可以为您提供PNG图像

答案 1 :(得分:0)

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..."

httpd.serve_forever()