19. 微软云web应用部署

上一章节我们介绍了如何实现在微软云通过虚拟机部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署通过部署网站的方式来部署我们的应用,这种部署方式更方便,与vs 2013的集成度更高。

19.1. 创建Web 应用

我们登陆Windows Azure中国账户后进入到管理门户,选择“web 应用”,点击新建按钮,如下图:

创建完成后,我们选择myazure进度到应用的管理界面,如下图:

点击“浏览”按钮,浏览该网站,如果网站创建成功浏览结果如下:

19.2. 配置该网站支持python 2.7版本

我们在网站的管理界面上选择“配置”菜单,配置网站运行python 2.7,同时关闭php支持。

再次浏览网站,运行结果如下图:

19.3. 添加项目的MyDB.db文件到工程中

19.4. 修改项目的settings.py文件,把数据库文件的访问地址修改为相对路径。

import os.path

DATABASES = {
'default': {
# Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'ENGINE': 'django.db.backends.sqlite3',
# Or path to database file if using sqlite3.

'NAME': os.path.join(os.path.dirname(os.path.dirname(__file__)), 'MyDB.db').replace('\\', '/'

),
# Not used with sqlite3.
'USER': '',
# Not used with sqlite3.
'PASSWORD': '',
# Set to empty string for localhost. Not used with sqlite3.
'HOST': '',
# Set to empty string for default. Not used with sqlite3.
'PORT': '',
}
}

19.5. 创建项目的虚拟环境

现在我们的网站支持python运行环境了,接下来我们部署我们的python django项目mysite,首先,我们在项目的requirements.txt文件中明确标注django的1.4版本。

django==1.4

接下来,我们在在解决方案资源管理器中,创建项目的虚拟运行环境,右键单击 Django 项目中的 Python Environments,然后选择“Add Virtual Environment”。

输入虚拟环境名称,例如“env”,创建名为“env”的文件夹,其中包含虚拟 Python 环境和django 1.4版本,如下图:

完成上述修改后,在VS2013中运行项目,确定工程是否正常运行,如下图:

19.6. 下载发布部署文件到本地

19.7. 部署文件到云web应用

在解决方案资源管理器中,右键单击 mysite项目,然后选择“Publish”。

导入我们下载的部署配置文件,如下图:

点击“Start Preview”可查看更新的文件,点击“Publish”按钮,部署工程文件。

19.8. 运行web应用,发布成功

19.9. 小结

创建和发布windows azure web app相对虚拟机发布要简单和便捷很多,如果我们打算在windows azure 发布python Django 应用,建议采用这个方案。下一章开始我们描述如何用python django进行微信服务号的开发。

Python开发入门与实战19-Windows Azure web 应用部署的更多相关文章

  1. Python开发入门与实战18-Windows Azure 虚拟机部署

    18. 微软云虚拟机部署 上一章节我们介绍了如何在新浪云部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署我们的应用. 18.1. 注册Windows Az ...

  2. Python开发入门与实战1-开发环境

    1.搭建Python Django开发环境 1.1.Python运行环境安装 Python官网:http://www.python.org/ Python最新源码,二进制文档,新闻资讯等可以在Pyth ...

  3. Python开发入门与实战8-基于Java的集成开发环境

    8. 基于Java的Python的集成开发环境 目前为止我们所有的代码和例子都是通过Notepad文本编辑器来实现的,实际项目开发中这种编码模式效率较低(大虾除外),使用IDE集成开发环境常常大幅度的 ...

  4. Python开发入门与实战15-IIS部署

    15. IIS部署 前面的章节我们完成了基本的业务功能的开发,本章节我们来说说python django项目如何部署到实际的运行环境,完成开发系统的发布工作. Python Django 项目部署发布 ...

  5. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  6. Python开发入门与实战17-新浪云部署

    17. 新浪云部署 上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上. 本章章节我们描述如何 ...

  7. Python开发入门与实战14-基于Extjs的界面

    14. 基于Extjs的界面 上一章我们实现了一个原生的html例子,本章我们将采用Extjs实现界面的展现,来说明MVC模式下我们是怎么考虑界面与业务层的关系的. 14.1. 引用Extjs目录 首 ...

  8. Python开发入门与实战13-基于模板的界面

    13. 基于模板的界面 本章我们将继续基于库存的简单例子来阐述如何在python django中体现MVC的架构,根据djangobook说明: M:数据存取部分,由django数据库层处理,本章要讲 ...

  9. Python开发入门与实战6-表单

    6. 表单 从简朴的单个搜索框,到常见的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的重要交互手段.本章介绍如何用Django如何对用户通过表单提交的数据进行访问. ...

随机推荐

  1. js之事件冒泡和事件捕获

    (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div ...

  2. appium 等待方法 转

    前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:htt ...

  3. App分类

    目前主流应用程序大体分为三类:Web App.Hybrid App. Native App.web app(网页应用)hybrid app(混合应用)native app(原生应用) 淘宝天猫这样的超 ...

  4. debug 断点无效

    如果出现这样的情况 需要在debug下配置 配置好之后,断点测试即可,亲测有效.

  5. JavaScript实现输入验证(简单的用户注册)

    1.先写用户注册页面userrAdd.jsp <body> <center> <form name="f1" id="f1" ac ...

  6. ie8兼容性(不支持trim 、readonly光标、乱码encodeURI())

    IE8下String的Trim()方法失效的解决方案 1.用jquery的trim()方法,$.trim(str)就可以了. 2.String扩展: 第一种 String.prototype.trim ...

  7. 实现View的移动的方法总结

    btw:这篇博客的内容其实算是<Android开发艺术探索>的一篇读书笔记,在书本的知识上加了一点自己的理解,并用自己的话描述出来.<Android开发艺术探索>是一本不错的书 ...

  8. redhat自定义安装必选

    redhat自定义安装必选 1.桌面 ked桌面 x 窗口系统 2.应用程序 编辑器 基于文本的互联网 图形互联网 3.服务器 服务器配置工具 万维网服务器 Windows文件 FTP服务器

  9. 使用Axis2建立WebService

    Axis是apache重量级的WebService框架,虽然相比Xfire和CXF而言相对比较臃肿,但是企业中最常用的就是Axis,Axis2是Axis的升级版:   建立一个最简单的Axis2  W ...

  10. Jquery mobile 新手问题总汇

    1页面缩放显示问题 问题描述: 页面似乎被缩小了,屏幕太宽了. 解决办法: 在head标签内加入: <meta name="viewport" content="w ...