我的第一个BAE python应用

 

 

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

http://developer.baidu.com/

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

 

 

 

第二步,创建新版本

 

 

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

 

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

 

 

 

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

 

第三步 修改一下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'] != '443':
               url += ':' + environ['SERVER_PORT']
        else:
            if environ['SERVER_PORT'] != '80':
               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

原文地址:https://www.cnblogs.com/lovemory/p/3240396.html