web.py爲301和其他重定向類型執行此操作的方式是通過子類web.HTTPError
(依次設置web.ctx.status
)。例如:
class MultipleChoices(web.HTTPError):
def __init__(self, choices):
status = '300 Multiple Choices'
headers = {'Content-Type': 'text/html'}
data = '<h1>Multiple Choices</h1>\n<ul>\n'
data += ''.join('<li><a href="{0}">{0}</a></li>\n'.format(c)
for c in choices)
data += '</ul>'
web.HTTPError.__init__(self, status, headers, data)
然後輸出此狀態代碼,你raise MultipleChoices
在你的處理器:
class MyHandler:
def GET(self):
raise MultipleChoices(['http://example.com/', 'http://www.google.com/'])
這將需要調整您的特定應用unAPI當然。
也the source for web.HTTPError
in webapi.py見。
這種方法也可以做304的工作未修改的情況下,你以編程方式提供一些圖像 – 2016-03-03 03:42:50