在Heroku云平臺(tái)上部署Python的Django框架的教程
Heroku是一個(gè)很棒的平臺(tái),它有很多的控件,并且搭建環(huán)境相對(duì)來(lái)說(shuō)也比較容易。本指南中,我將一步一步指導(dǎo)你在Heroku平臺(tái)上部署一個(gè)簡(jiǎn)單地Django應(yīng)用
搭建開(kāi)發(fā)環(huán)境
Heroku工具鏈
假設(shè)你已經(jīng)在Heroku平臺(tái)上注冊(cè)了一個(gè)帳戶,并且在里面創(chuàng)建了一款應(yīng)用,為了一會(huì)兒通過(guò)CLI與Heroku交互,你需要安裝 Git倉(cāng)庫(kù)
在部署你的應(yīng)用到Heroku之前,你需要先將你的代碼簽入git倉(cāng)庫(kù)中。Heroku提供的git倉(cāng)庫(kù)信息可以在你的應(yīng)用設(shè)置頁(yè)中找到。
Python 和 Virtualenv
如果這不是你的第一款python應(yīng)用,你或許已經(jīng)把環(huán)境搭建起來(lái)了。然后,不同的Pyton版本之間存在兼容性問(wèn)題,因此你應(yīng)該在開(kāi)發(fā)你的Python應(yīng)用時(shí)使用Virtualenv命令來(lái)創(chuàng)建一個(gè)虛擬的環(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 (一個(gè)Django配置工具)
- dj-static (一個(gè)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被用來(lái)聲明應(yīng)該被執(zhí)行的開(kāi)始web dyno命令。這個(gè)文件應(yīng)該被放在manage.py(指定的)文件夾中。簡(jiǎn)單地創(chuàng)建一個(gè)ProcFile文件,如下面的一行例子所示。
2. 查看你希望部署代碼的遠(yuǎn)程服務(wù)器簡(jiǎn)稱。下面這個(gè)例子顯示地是配置僅有一個(gè)簡(jiǎn)單遠(yuǎn)程服務(wù)器的例子,它的簡(jiǎn)稱是origin。(假設(shè))你可能已經(jīng)配置過(guò)很多的遠(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. 驗(yàn)證你部署的代碼
$ heroku open
你應(yīng)該看到標(biāo)準(zhǔn)的Django開(kāi)始頁(yè)面(顯示的是)“It worked! Congratulations on your first Django-powered page.”
5. 使用dyno測(cè)量你的應(yīng)用規(guī)模
$ heroku ps:scale web=1 Scaling dynos... done, now running web at 1:1X.
- Django框架HttpRequest對(duì)象用法實(shí)例分析
- Django框架HttpResponse對(duì)象用法實(shí)例分析
- Django接收自定義http header過(guò)程詳解
- Django使用HttpResponse返回圖片并顯示的方法
- Django的HttpRequest和HttpResponse對(duì)象詳解
- 使用Django簡(jiǎn)單編寫一個(gè)XSS平臺(tái)的方法步驟
- Django+RestFramework API接口及接口文檔并返回json數(shù)據(jù)操作
- Django調(diào)用百度AI接口實(shí)現(xiàn)人臉注冊(cè)登錄代碼實(shí)例
- 通過(guò)Django Admin+HttpRunner1.5.6實(shí)現(xiàn)簡(jiǎn)易接口測(cè)試平臺(tái)
相關(guān)文章
python按鍵按住不放持續(xù)響應(yīng)的實(shí)例代碼
今天小編就為大家分享一篇python按鍵按住不放持續(xù)響應(yīng)的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python if語(yǔ)句知識(shí)點(diǎn)用法總結(jié)
本篇文章給python初學(xué)者總結(jié)了關(guān)于Python之if語(yǔ)句的相關(guān)用法以及知識(shí)點(diǎn)總結(jié),跟著學(xué)習(xí)下吧。2018-06-06python利用faker庫(kù)批量生成測(cè)試數(shù)據(jù)
小編經(jīng)常需要批量測(cè)試一些數(shù)據(jù),有時(shí)候測(cè)試環(huán)境又暫時(shí)沒(méi)數(shù)據(jù),特意找了一下,發(fā)現(xiàn)有一個(gè)可批量生成數(shù)據(jù)的python庫(kù)—-faker,現(xiàn)在就介紹一下它的使用方法,如果你不想一行一行輸入代碼,小編提供了完整測(cè)試代碼,見(jiàn)文末代碼章節(jié)。2020-10-10Python訪問(wèn)OPCUA服務(wù)器,訂閱一個(gè)變量標(biāo)簽方式
這篇文章主要介紹了Python訪問(wèn)OPCUA服務(wù)器,訂閱一個(gè)變量標(biāo)簽方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02python實(shí)現(xiàn)比較類的兩個(gè)instance(對(duì)象)是否相等的方法分析
這篇文章主要介紹了python實(shí)現(xiàn)比較類的兩個(gè)instance(對(duì)象)是否相等的方法,結(jié)合實(shí)例形式分析了Python判斷類的實(shí)例是否相等的判斷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-06-06pytorch預(yù)測(cè)之解決多次預(yù)測(cè)結(jié)果不一致問(wèn)題
這篇文章主要介紹了pytorch多次預(yù)測(cè)結(jié)果不一致的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06關(guān)于Python排序sort()函數(shù)和sorted()函數(shù)
這篇文章主要介紹了關(guān)于Python排序sort()函數(shù)和sorted()函數(shù),利用Python中的內(nèi)置函數(shù)去實(shí)現(xiàn)直接排序,需要的朋友可以參考下2023-04-04