在Heroku云平臺上部署Python的Django框架的教程
Heroku是一個很棒的平臺,它有很多的控件,并且搭建環(huán)境相對來說也比較容易。本指南中,我將一步一步指導(dǎo)你在Heroku平臺上部署一個簡單地Django應(yīng)用
搭建開發(fā)環(huán)境
Heroku工具鏈
假設(shè)你已經(jīng)在Heroku平臺上注冊了一個帳戶,并且在里面創(chuàng)建了一款應(yīng)用,為了一會兒通過CLI與Heroku交互,你需要安裝 Git倉庫
在部署你的應(yīng)用到Heroku之前,你需要先將你的代碼簽入git倉庫中。Heroku提供的git倉庫信息可以在你的應(yīng)用設(shè)置頁中找到。
Python 和 Virtualenv
如果這不是你的第一款python應(yīng)用,你或許已經(jīng)把環(huán)境搭建起來了。然后,不同的Pyton版本之間存在兼容性問題,因此你應(yīng)該在開發(fā)你的Python應(yīng)用時使用Virtualenv命令來創(chuàng)建一個虛擬的環(huán)境。
# Install pip $ [sudo] python get-pip.py # Install Virtualenv $ [sudo] pip install virtualenv # Create a virtual environment $ virtualenv venv # Activate venv $ source venv/bin/activate
創(chuàng)建一款Django應(yīng)用
建議你安裝django-toolbelt,它由以下幾部分組成。
- Django
- Gunicorn (WSGI服務(wù)器)
- dj-database-url (一個Django配置工具)
- dj-static (一個Django靜態(tài)文件服務(wù)器)
(venv)$ pip install django-toolbelt (venv)$ cd Sample-Project # Create a Django project name Sample_Project # A valid Django project name can't contain dash (venv)$ django-admin.py startproject Sample_Project . # Create the requirements file (venv)$ pip freeze > requirements.txt
部署你的代碼
1. 創(chuàng)建ProcFile
ProcFile被用來聲明應(yīng)該被執(zhí)行的開始web dyno命令。這個文件應(yīng)該被放在manage.py(指定的)文件夾中。簡單地創(chuàng)建一個ProcFile文件,如下面的一行例子所示。
2. 查看你希望部署代碼的遠(yuǎn)程服務(wù)器簡稱。下面這個例子顯示地是配置僅有一個簡單遠(yuǎn)程服務(wù)器的例子,它的簡稱是origin。(假設(shè))你可能已經(jīng)配置過很多的遠(yuǎn)程服務(wù)器。
$ git remote -v origin git@heroku.com:Sample-Project.git (fetch) origin git@heroku.com:Sample-Project.git (push)
3. 部署你的代碼
使用"git push"去部署你的代碼。
$ git push origin master Initializing repository, done. Counting objects: 11, done. Delta compression using up to 8 threads. Compressing objects: 100% (9/9), done. Writing objects: 100% (11/11), 2.64 KiB | 0 bytes/s, done. Total 11 (delta 0), reused 0 (delta 0) -----> Python app detected -----> Installing runtime (python-2.7.8) -----> Installing dependencies with pip Downloading/unpacking Django==1.6.6 (from -r requirements.txt (line 1)) Downloading/unpacking dj-database-url==0.3.0 (from -r requirements.txt (line 2)) Downloading dj_database_url-0.3.0-py2.py3-none-any.whl Downloading/unpacking dj-static==0.0.6 (from -r requirements.txt (line 3)) Downloading dj-static-0.0.6.tar.gz ... To git@heroku.com:Sample-Project.git * [new branch] master -> master
4. 驗證你部署的代碼
$ heroku open
你應(yīng)該看到標(biāo)準(zhǔn)的Django開始頁面(顯示的是)“It worked! Congratulations on your first Django-powered page.”
5. 使用dyno測量你的應(yīng)用規(guī)模
$ heroku ps:scale web=1 Scaling dynos... done, now running web at 1:1X.
- Django框架HttpRequest對象用法實例分析
- Django框架HttpResponse對象用法實例分析
- Django接收自定義http header過程詳解
- Django使用HttpResponse返回圖片并顯示的方法
- Django的HttpRequest和HttpResponse對象詳解
- 使用Django簡單編寫一個XSS平臺的方法步驟
- Django+RestFramework API接口及接口文檔并返回json數(shù)據(jù)操作
- Django調(diào)用百度AI接口實現(xiàn)人臉注冊登錄代碼實例
- 通過Django Admin+HttpRunner1.5.6實現(xiàn)簡易接口測試平臺
相關(guān)文章
python按鍵按住不放持續(xù)響應(yīng)的實例代碼
今天小編就為大家分享一篇python按鍵按住不放持續(xù)響應(yīng)的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07python利用faker庫批量生成測試數(shù)據(jù)
小編經(jīng)常需要批量測試一些數(shù)據(jù),有時候測試環(huán)境又暫時沒數(shù)據(jù),特意找了一下,發(fā)現(xiàn)有一個可批量生成數(shù)據(jù)的python庫—-faker,現(xiàn)在就介紹一下它的使用方法,如果你不想一行一行輸入代碼,小編提供了完整測試代碼,見文末代碼章節(jié)。2020-10-10Python訪問OPCUA服務(wù)器,訂閱一個變量標(biāo)簽方式
這篇文章主要介紹了Python訪問OPCUA服務(wù)器,訂閱一個變量標(biāo)簽方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02python實現(xiàn)比較類的兩個instance(對象)是否相等的方法分析
這篇文章主要介紹了python實現(xiàn)比較類的兩個instance(對象)是否相等的方法,結(jié)合實例形式分析了Python判斷類的實例是否相等的判斷操作實現(xiàn)技巧,需要的朋友可以參考下2019-06-06pytorch預(yù)測之解決多次預(yù)測結(jié)果不一致問題
這篇文章主要介紹了pytorch多次預(yù)測結(jié)果不一致的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06關(guān)于Python排序sort()函數(shù)和sorted()函數(shù)
這篇文章主要介紹了關(guān)于Python排序sort()函數(shù)和sorted()函數(shù),利用Python中的內(nèi)置函數(shù)去實現(xiàn)直接排序,需要的朋友可以參考下2023-04-04