91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在SAE上部署Python+Django應用

發布時間:2021-12-02 17:41:27 來源:億速云 閱讀:106 作者:柒染 欄目:云計算

如何在SAE上部署Python+Django應用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

正象之前所說的那樣,我想要做一個自己的博客,同時又要少花錢,少做事(呵呵,太懶了吧),因此我選擇了Python+Django,經過了幾天的折騰,終于基本完成,甚至都還沒有完善,就迫不及待地將其部署到了SAE,現在就把這個部署過程分享一下。

1、準備工作

準備工作中最最重要的當然準備好自己的應用代碼了,廢話少說,代碼最重要,但我卻要略過,不了解的朋友可以參考Django向導(又廢話了吧),一步步做就行了。其實在準備階段我覺得最重要的還是SAE上的一些配置。

首先,你需要在SAE上建立自己的應用,并將其用SVN下載到本機,如果你希望在本機使用模擬的SAE環境,還需要下載安裝SAE本地開發包。然后將自己的代碼根目錄下的所有內容拷貝到SVN目錄下的1目錄。具體操作命令如下:

svn co https://svn.sinaapp.com/your_app_name

以上是下載應用代碼,假設你本機的代碼根目錄為mysite,則你需要如下操作:

cp mysite/* your_app_name/1

這樣的話,準備工作就做完了,前面說了一大堆,其實就只有這么兩句話有用。

2、配置文件編寫

SAE的配置文件主要有兩個:config.yaml和index.wsgi。我們所要做的就是在根目錄下建立這兩個文件,然后再根據應用的實際情況對其進行編輯。

好了,不說了,上代碼。

首先是index.wsgi,這是標準的SAE模板,除了將應用名稱改為你自己的,沒什么復雜的東東。

import sys
  import os.path
  
  os.environ['DJANGO_SETTINGS_MODULE'] = 'YOUR_APP_NAME.settings'
  sys.path.append(os.path.join(os.path.dirname(__file__), 'YOUR_APP_NAME'))
  
  import sae
  from YOUR_APP_NAME import wsgi
  
  application = sae.create_wsgi_app(wsgi.application)

注意:只需要簡單地將其中的YOUR_APP_NAME替換成你的應用的名稱就行了,不要加其他任何符號

接下來再來看看config.yaml,這個文件的配置相對要復雜一些,不過也沒有太復雜的東西,只要你理解了其中每個配置選項的含義,一切都好辦了,如果有什么不清楚,可以參考SAE應用程序配置文檔。先來看看我們初始的配置文件吧。

name: YOUR_APP_NAME
 version: 1
 
 libraries:
 - name: django
   version: "1.5"

呵呵,還是簡單地做一些替換吧,YOUR_APP_NAME還是簡單地替換成你的應用的名稱;另外就是多了個引用庫的配置,我的應用中用到了django框架,因此需要引入,同時我用的版本是1.5的,因此千萬記得,將其版本設為1.5,如果你用的是1.4版,千萬設置成1.4版,不然……呵呵,當然就是可以報一大堆錯誤了。

配置文件就到這里了,So easy!!!不是嗎?

3、靜態文件處理

靜態文件處理起來,說麻煩也麻煩,但真的做起來,如果只要簡單的能用就行,那也真是簡單。本人就基于能用就行,簡單地進行靜態文件的處理。

首先,請確認你沒有修改應用中的setting文件中與靜態文件有關的設置,說簡單點就是所有以STATIC開始的設置都沒有改動。

接下來就是執行django的靜態文件搜集命令了,只需要在你的應用根目錄下執行如下命令就行了。

./manage.py collectstatic

其中會有一個提示信息,也就是讓你確認,輸入"yes"即可。

最后,再次打開config.yaml文件,添加如下代碼:

handlers:
- url: /static/
  static_path: ./

4、數據庫設置

 我實在難以想象,在現在的環境下,一個應用沒有數據庫的支持,將會是什么樣子。不管別人怎樣,我的應用就要用數據庫,當然還是要用MySQL。數據庫的配置很簡單,而且配置好后基本就不用動了。呵呵,傻笑什么呢,還不動手。

首先,打開settings.py文件,在原有的DATABASES配置前加上如下代碼:

if 'SERVER_SOFTWARE' in os.environ:
     from sae.const import (
         MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB
     )
 else:
      MYSQL_HOST = 'localhost'
      MYSQL_PORT = '3306'
      MYSQL_USER = 'root'
      MYSQL_PASS = '******'
      MYSQL_DB   = 'YOUR_DATABASE_NAME'

然后將原有的DATABASES配置改成如下代碼:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': MYSQL_DB,                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': MYSQL_USER,
        'PASSWORD': MYSQL_PASS,
        'HOST': MYSQL_HOST,                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': MYSQL_PORT,                      # Set to empty string for default.
    }
 }

最后別忘了在SAE中啟用MySQL數據庫支持哦。這樣你就既可以在SAE環境中運行應用,也可以在本機不用SAE模擬環境里運行了。

OK,大功告成,現在執行如下命令:

svn add *
svn ci -m "Deploy app into SAE"

看完上述內容,你們掌握如何在SAE上部署Python+Django應用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定远县| 龙胜| 民和| 登封市| 阿克苏市| 张家港市| 木兰县| 永昌县| 越西县| 青冈县| 乃东县| 鹰潭市| 揭阳市| 青河县| 平泉县| 广德县| 澄江县| 锦屏县| 若尔盖县| 都江堰市| 自贡市| 安多县| 会同县| 泸西县| 乃东县| 全州县| 陆丰市| 鄢陵县| 淮安市| 杨浦区| 莎车县| 汝南县| 元江| 双桥区| 靖江市| 黄龙县| 南江县| 仪征市| 浏阳市| 日喀则市| 北安市|