上一章節咱們介紹瞭如何在本地windows服務器部署python django的網站,本章咱們簡要說明一下如何把python django工程部署到雲服務上。html
本章章節咱們描述如何在新浪雲上部署python django 項目。首先,咱們須要註冊新浪雲用戶帳號,新浪雲用戶如今須要實名認證,經過實名認證的帳號建立的應用才能正常運行。python
註冊成功後登陸SAE,進入個人首頁,點擊建立新應用,建立一個新的應用myseasite,開發語言選擇Python。mysql
TortoiseSVN下載: http://tortoisesvn.net/downloads.html 安裝SVNweb
建立完版本後,新浪雲本身增長兩個文件config.yaml和 index.wsgi ,如今咱們就能夠訪問咱們的應用地址:http://mysaesite.sinaapp.com/sql
右鍵建立好的目錄mysaesite,選擇SVN Checkout數據新浪雲應用代碼庫地址和本地目錄。數據庫
輸入應用的新浪雲的代碼庫url,以下圖:django
點擊OK,輸入代碼庫的用戶名和密碼,注意:用戶名和密碼爲SAE的安全郵箱和安全密碼。windows
Checkout命令執行完後,咱們的本地目錄多了一個子目錄 「1」,裏面有兩個文件config.yaml和 index.wsgi。瀏覽器
目前SAE上預置了多個版本的Django,默認的版本爲1.2.7,在本示例中咱們使用1.4版本。安全
在默認版本目錄下建立應用配置文件 config.yaml ,在其中添加以下內容:
name: mysaesite version: 1 libraries:
- name: "django"
version: "1.4"
index.wsgi文件內容替換以下:
import sae from mysite import wsgi application = sae.create_wsgi_app(wsgi.application)
接着咱們把上一章節Apache本地服務器發佈目錄的文件拷貝到 版本「1」 目錄下。注:刪除mysite\inventory\static目錄,重複上傳靜態文件會致使源碼太大。
右鍵版本「1」 目錄,選擇Add命令,添加新文件。
執行完添加後版本「1」 目錄出現一個紅色的感嘆號,以下圖:
右鍵版本「1」 目錄,選擇SVN Commit…命令,上傳代碼文件到服務器。
瀏覽器瀏覽http://mysaesite.sinaapp.com/網站,出現錯誤提示,新浪雲不支持工程項目的sqlite3數據庫,如今咱們須要使用新浪雲提供的mysql數據庫了。
import os,sys from sae.const import (MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB) if 'SERVER_SOFTWARE' in os.environ: from sae.const import (MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB) else: MYSQL_HOST = 'w.rdc.sae.sina.com.cn' MYSQL_PORT = '3307' MYSQL_USER = 'ACCESSKEY' MYSQL_PASS = 'SECRETKEY' MYSQL_DB = 'app_mysaesite' from sae._restful_mysql import monkey monkey.patch() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': MYSQL_DB, 'USER': MYSQL_USER, 'PASSWORD': MYSQL_PASS, 'HOST': MYSQL_HOST, 'PORT': MYSQL_PORT, } } ##DATABASES = { ## 'default': { ## # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. ## 'ENGINE': 'django.db.backends.sqlite3', ## # Or path to database file if using sqlite3. ## 'NAME': 'C:\\My Files\\Python Projects\\mysite\\mysite\\MyDB.db', ## # 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': '', ## } ##}
修改好setting.py文件後,咱們能夠在工程了運行django sync DB命令同步表結構了,這樣就能夠在新浪雲的管理Mysql裏查看到生成的表結構。
在物料表和庫存表手工添加一些數據,後面咱們就能夠運行網站查詢庫存數據,驗證發佈是否正常了。
http://mysaesite.sinaapp.com/inventoryQuery/
本章節咱們演示瞭如何把咱們的項目發佈到「新浪雲」上,這樣咱們的項目就能夠運行在internet網絡上了,之後咱們會繼續對「新浪雲」發佈的這個網站或服務進行功能擴展,來闡述如何支持其它服務的開發。