我的第一个BAE python应用

第一步 用baidu帐号登陆开发者中心

http://developer.baidu.com/

Baidu的引导,帮助说明已经很详细, 这里不重复。

我的第一个BAE python应用

第二步,创建新版本

我的第一个BAE python应用

用svn  check out 代码下来,注意svn版本要使用1.6版本,我用了最新的版本1.8.1,总是连接不上,因为baidu服务器上的svn版本也是1.6的。

Check out下来会有3个文件,如下图

我的第一个BAE python应用

点击上图中的“预览”按钮,效果如下图

我的第一个BAE python应用

第三步 修改一下index.py文件,提交代码

#-*- coding:utf-8 -*-
#index.py
#@author:huangyanqiang from urllib import quote
from bae.core.wsgi import WSGIApplication '''
@note 一个实现了__call__()方法的callable对象。它接受两个输入参
@param environ 第一个参数environ是dict类型,它包含了一次HTTP请求相关的环境信息
@param start_response 第二个参数start_response是一个函数类型,应用调用这个函数来返回适当的HTTP响应码和HTTP响应header
@return application()的返回值是一个Iterable的对象。Iterable对象指的是可以进行遍历操作的对象
'''
def app(environ, start_response):
#获取请求地址
url = environ['wsgi.url_scheme']+'://' if environ.get('HTTP_HOST'):
url += environ['HTTP_HOST']
else:
url += environ['SERVER_NAME'] if environ['wsgi.url_scheme'] == 'https':
if environ['SERVER_PORT'] != '':
url += ':' + environ['SERVER_PORT']
else:
if environ['SERVER_PORT'] != '':
url += ':' + environ['SERVER_PORT'] url += quote(environ.get('SCRIPT_NAME', ''))
url += quote(environ.get('PATH_INFO', ''))
if environ.get('QUERY_STRING'):
url += '?' + environ['QUERY_STRING'] #返回请求
status = '200 OK'
headers = [('Content-type', 'text/html')]
start_response(status, headers)
body=["Welcome to Baidu Cloud!</br>",url]
return body application = WSGIApplication(app)

再次访问: http://0.pythonworld2013.duapp.com/?word=apple

输出:

Welcome to Baidu Cloud!

http://0.pythonworld2013.duapp.com/?word=apple

上一篇:jQuery 效果 - 动画 animate() 方法


下一篇:libc++abi.dylib handler threw exception