在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)用
搭建開發(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)該在開發(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í)行的開始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開始頁(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基于三階貝塞爾曲線的數(shù)據(jù)平滑算法
這篇文章主要介紹了python基于三階貝塞爾曲線的數(shù)據(jù)平滑算法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
pandas的drop_duplicates無(wú)法去重問(wèn)題解決
在我們利用Pandas進(jìn)行數(shù)據(jù)清洗的時(shí)候,往往會(huì)用到drop_duplicates()進(jìn)行去重,本文主要介紹了pandas的drop_duplicates無(wú)法去重問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Django REST framework 分頁(yè)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django REST framework 分頁(yè)的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
python Selenium等待元素出現(xiàn)的具體方法
在本篇文章里小編給大家分享的是一篇關(guān)于python Selenium等待元素出現(xiàn)的具體方法,以后需要的朋友們可以學(xué)習(xí)參考下。2021-08-08

