Python Flask 在Sina App Engine (SAE)上安家
2017-07-20 16:09
691 查看
早就听说了Python的大名,随着的编程语言的理解加深,越发认为动态语言的威力--真大呀。
趁这段时间不忙,我也用Python写了一个应用,而且将其部署到Sina App Engine (SAE)。SAE确实是一个好地方,它支持Python。对于开发人员,其使用费用差点儿为0。
更重要的是。假设我的这个app不会半路夭折,等它长大后,这个平台也能给予足够的支持。
尽管。整个过程都非常easy,可是对于一个新手,特别是从传统C#, Asp.net, IIS阵营过来的开发者来说。什么都是第一次接触。希望我的这篇文章可以成为你Python学习道路上的一盏小灯。
大纲
Python安装
Pip安装
Flask安装
创建一个带页面的Flask Web App
部署到SAE上
Python安装
Python眼下有两个主要版本号,2.7.x和3.x。但眼下Flask对Python 3.x的支持还有些问题待解决,因此推荐使用Python 2.x。
你能够打开下面链接下载Python 2.7.8
很多其它
假设你已经安装了Python 3.x,也没有必要将其卸载掉。你仅仅须要在Python 2.7.x安装完毕后,改动系统的环境变量,将Path里的Python 3.x的文件夹替换为Python 2.7.x的文件夹。
这样做的目的是在命令行模式下。直接调用Python 2.7。
Pip安装
Pip是Python世界中用于安装的工具。
非常多框架都支持Pip的安装,Flask也不例外。
你能够打开下面链接下载get-pip.py。
建议将get-pip.py保存在Python的根文件夹下。
用管理员权限启动command窗口
执行
python get-pip.py --allow-external install
安装完毕后。它会在Python的安装根文件夹创建Scripts文件夹。
建议将Scripts文件夹页加入到系统环境变量Path中。这样方便以下的安装过程中直接在command窗体里输入命令。
(注意:改动了系统环境变量Path后,最好注销一次,否则系统可能临时找不到你输入的命令)
Flask安装
打开command窗口,执行pip install Flask,即完毕了Flask的安装。如今体会到了Pip的强大了吧。
因为整个安装过程要从网上下载,所以下面界面可能要持续一段时间,假设你的网速不快。还得耐心等待。
很多其它
有的时候。因为网络原因,可能导致安装失败。假设遇到失败的情况,多试几次。
创建一个带页面的Flask Web App
在这一节中,会应用到Flask的route功能和JinJia2的Template功能。
route功能就是将请求的url映射到相应的处理方法上。这同Asp.net MVC中的route是同一个概念。
JinJia2的Template功能正如其名称所指。是一个强大的html模板。能够将其类比为Asp.net MVC中的cshtml。
具体内容,请參考下面链接:
创建文件夹c::\MyWebApp。
创建c:\MyWebApp\myApp.py。
myApp.py
在上面的代码中。为index方法加入了@app.route('/')属性,即当訪问网站根文件夹时,会调用index函数。
index函数返回render_template('index.html')的结果。这里index.html作为模板页返回给了client。
创建文件夹c:\MyWebApp\templates\。
创建c:\MyWebApp\templates\index.html。
创建c:\MyWebApp\static\。
将jquery-1.9.1.min.js存放在static文件夹下。
我这里没有应用Jinjia2的模板特性。仅仅是一个很普通的html代码。
index.html
注意,index.html存放在templates文件夹下, 在index.html中。引用的jquery存放在static文件夹下。
在Flask中,templates文件夹用于放模板,static文件夹用于放静态资源,如css, js, 图标等文件。
执行
用Python IDE打开myApp.py,按F5,网站就跑起来了,非常方便吧。
上
然后打开浏览器,输入网站地址,比如上面的http://127.0.0.1:5000/。就能够看到Python的Flask框架为我们返回的网页了。
部署到SAE上
假设你有新浪微博,能够通过微博号直接登陆。
在'我的应用'上点击'创建新应用'
输入二级域名。
选择Python作为开发语言。
创建完毕后,通过SVN上传代码。
比如,你的二级域名为myApp,那么SVN的地址为 https://svn.sinaapp.com/myApp。
别慌,这里有坑!
官方有具体文档,我这里须要补充的是:SAE本身同意最多10个应用版本号,每个版本号相应于SVN根文件夹下的文件夹,文件夹的名称从1到10。我们这里这些文件夹称为应用文件夹。另外,SVN根文件夹下除了包括应用文件夹外。不应该包括其他东西。
这个设计对于同一时候公布多个产品分支来说。太给力了。
因此,假设当前应用是你的第一个版本号。操作过程例如以下:
在本地创建一个文件夹,运行SVN的Check Out。
在那个文件夹下创建名称为1的文件夹,这个文件夹就是应用文件夹。
将之前的代码都复制到这个为1的文件夹下。
运行SVN的Add和Commit操作。
然后,进入SAE的代码管理。你就会发现类似于以下的应用版本号列表。
官方文档链接
趁这段时间不忙,我也用Python写了一个应用,而且将其部署到Sina App Engine (SAE)。SAE确实是一个好地方,它支持Python。对于开发人员,其使用费用差点儿为0。
更重要的是。假设我的这个app不会半路夭折,等它长大后,这个平台也能给予足够的支持。
尽管。整个过程都非常easy,可是对于一个新手,特别是从传统C#, Asp.net, IIS阵营过来的开发者来说。什么都是第一次接触。希望我的这篇文章可以成为你Python学习道路上的一盏小灯。
大纲
Python安装
Pip安装
Flask安装
创建一个带页面的Flask Web App
部署到SAE上
Python安装
Python眼下有两个主要版本号,2.7.x和3.x。但眼下Flask对Python 3.x的支持还有些问题待解决,因此推荐使用Python 2.x。
你能够打开下面链接下载Python 2.7.8
很多其它
假设你已经安装了Python 3.x,也没有必要将其卸载掉。你仅仅须要在Python 2.7.x安装完毕后,改动系统的环境变量,将Path里的Python 3.x的文件夹替换为Python 2.7.x的文件夹。
这样做的目的是在命令行模式下。直接调用Python 2.7。
Pip安装
Pip是Python世界中用于安装的工具。
非常多框架都支持Pip的安装,Flask也不例外。
你能够打开下面链接下载get-pip.py。
建议将get-pip.py保存在Python的根文件夹下。
用管理员权限启动command窗口
执行
python get-pip.py --allow-external install
安装完毕后。它会在Python的安装根文件夹创建Scripts文件夹。
建议将Scripts文件夹页加入到系统环境变量Path中。这样方便以下的安装过程中直接在command窗体里输入命令。
(注意:改动了系统环境变量Path后,最好注销一次,否则系统可能临时找不到你输入的命令)
Flask安装
打开command窗口,执行pip install Flask,即完毕了Flask的安装。如今体会到了Pip的强大了吧。
因为整个安装过程要从网上下载,所以下面界面可能要持续一段时间,假设你的网速不快。还得耐心等待。
很多其它
有的时候。因为网络原因,可能导致安装失败。假设遇到失败的情况,多试几次。
创建一个带页面的Flask Web App
在这一节中,会应用到Flask的route功能和JinJia2的Template功能。
route功能就是将请求的url映射到相应的处理方法上。这同Asp.net MVC中的route是同一个概念。
JinJia2的Template功能正如其名称所指。是一个强大的html模板。能够将其类比为Asp.net MVC中的cshtml。
具体内容,请參考下面链接:
创建文件夹c::\MyWebApp。
创建c:\MyWebApp\myApp.py。
myApp.py
from flask import Flask, render_template app = Flask(__name__) app.debug = True @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run()
在上面的代码中。为index方法加入了@app.route('/')属性,即当訪问网站根文件夹时,会调用index函数。
@app.route('/') def index():
index函数返回render_template('index.html')的结果。这里index.html作为模板页返回给了client。
return render_template('index.html')
创建文件夹c:\MyWebApp\templates\。
创建c:\MyWebApp\templates\index.html。
创建c:\MyWebApp\static\。
将jquery-1.9.1.min.js存放在static文件夹下。
我这里没有应用Jinjia2的模板特性。仅仅是一个很普通的html代码。
index.html
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script src="/static/jquery-1.9.1.min.js"></script> </head> <body> <p>你好, Python Flask Web App</p> </body> </html>
注意,index.html存放在templates文件夹下, 在index.html中。引用的jquery存放在static文件夹下。
在Flask中,templates文件夹用于放模板,static文件夹用于放静态资源,如css, js, 图标等文件。
执行
用Python IDE打开myApp.py,按F5,网站就跑起来了,非常方便吧。
上
然后打开浏览器,输入网站地址,比如上面的http://127.0.0.1:5000/。就能够看到Python的Flask框架为我们返回的网页了。
部署到SAE上
假设你有新浪微博,能够通过微博号直接登陆。
在'我的应用'上点击'创建新应用'
输入二级域名。
选择Python作为开发语言。
创建完毕后,通过SVN上传代码。
比如,你的二级域名为myApp,那么SVN的地址为 https://svn.sinaapp.com/myApp。
别慌,这里有坑!
官方有具体文档,我这里须要补充的是:SAE本身同意最多10个应用版本号,每个版本号相应于SVN根文件夹下的文件夹,文件夹的名称从1到10。我们这里这些文件夹称为应用文件夹。另外,SVN根文件夹下除了包括应用文件夹外。不应该包括其他东西。
这个设计对于同一时候公布多个产品分支来说。太给力了。
因此,假设当前应用是你的第一个版本号。操作过程例如以下:
在本地创建一个文件夹,运行SVN的Check Out。
在那个文件夹下创建名称为1的文件夹,这个文件夹就是应用文件夹。
将之前的代码都复制到这个为1的文件夹下。
运行SVN的Add和Commit操作。
然后,进入SAE的代码管理。你就会发现类似于以下的应用版本号列表。
官方文档链接
http://sae.sina.com.cn/doc/tutorial/code-deploy.html[/quote]
将本地文件上传到SAE的应用文件夹下后,还须要在应用文件夹的根文件夹下创建一个index.wsgi文件。这个文件是SAE上应用的入口,其代码例如以下:
index.wsgi
如今。大功告成。立即就能够訪问你的网站了。
以二级域名为myApp为例,假设你要訪问当前的默认应用文件夹。訪问地址为:
假设你要訪问某一个应用文件夹,比如。第二个应用文件夹,訪问地址为:
希望以后可以在Python的学习道路上多交流。假设可以推荐一下Python的工作机会,将不胜感激。
将本地文件上传到SAE的应用文件夹下后,还须要在应用文件夹的根文件夹下创建一个index.wsgi文件。这个文件是SAE上应用的入口,其代码例如以下:
index.wsgi
import sae from myapp import app application = sae.create_wsgi_app(app)
如今。大功告成。立即就能够訪问你的网站了。
以二级域名为myApp为例,假设你要訪问当前的默认应用文件夹。訪问地址为:
假设你要訪问某一个应用文件夹,比如。第二个应用文件夹,訪问地址为:
希望以后可以在Python的学习道路上多交流。假设可以推荐一下Python的工作机会,将不胜感激。
相关文章推荐
- Python Flask 在Sina App Engine (SAE)上安家
- Sina App Engine (简称SAE) 今日被黑客攻击
- Sina App Engine(SAE)入门教程(9)- SaeMail(邮件)使用
- Sina App Engine(SAE)入门教程
- Sina App Engine(SAE)数据库学习心得
- 基于Sina App Engine (SAE) 的CMS
- Sina App Engine(SAE)环境wordpress SEO之Sitemap
- Django+Python+GoogleAppEngine+HTML/XHTML+CSS = WEB APP
- python flask框架 app.debug=True时,启动脚本被执行了2次
- Sina App Engine–使用Storage存储上传文件
- SAE在ubuntu上使用swift操作storage命令报错hostname 'auth.sinas3.com' doesn't match either of '*.sinaapp.com',修复
- google app engine简明教程---Python版
- flask (python web app framework)
- 服务列表 - Sina App Engine
- 【转】App Engine 众生相, 看清GAE/SAE/ACE/BAE/TAE中浮躁的云
- 在Linux上安装Python的Flask框架和创建第一个app实例的教程
- 新浪推出开放云计算平台Sina App Engine
- Sina App Engine—新浪的开放云计算平台
- Python+Bottle+Sina SAE快速构建网站
- Mail,Memcache Python API——Google App Engine Services简介