---
# System prepended metadata

title: Flask Heroku雲端架站筆記

---

# Flask Heroku雲端架站筆記

本機端程式步驟
---
1. 先建立一個檔案 ex:app.py
2. pip install flask 
3. 寫入欲執行程式 如下
```csharp
from flask import Flask #引入第三方套件flask
app=Flask(__name__) 

@app.route("/") #函式的裝飾(decorator)以函式為基礎提供附加的功能
def home():
    return "Hello Flask 2"

@app.route("/test") #代表我們要處理的網站路徑
def test():
    return "This is Test 2 "

if __name__=="__main__":#如果以主程式執行
    app.run() #立刻啟動伺服器  
```
4.按下ctrl+R確認網站可以連上
5.每一次修改程式內容後都要重新跑（除非有特別設定 待研究）

部署雲端主機 程式步驟
---
**1.新建一個runtime.txt 檔案**
夾入內文：python-3.9.14 
網站可能會因為不支援python版本而部署失敗 可參考 [heroku][1]

**2.新建一個requirments.txt 檔案**
內文：Flask 
    gunicorn
告訴網站專案運作時需要的套件

**3.新建一個Procfile檔案**
內文：web gunicorn app:app 
``
第一個對應app.py中的app
第二個app對應app.py中的app=Flask(__name__) 
告訴heroku要如何啟動專案
``

**4. heroku create a new app**

在python Terminal 執行部屬
---

**5.在python Terminal 登入heroku**
$ heroku login

#### 6.git 初始化 (做一次之後即不用在做)
1. git init
2. heroku git:remote -a 專案名稱

#### 7.把檔案部署到heroku 指令 ==只要修改過程式就要跑此三行指令==
1. $ git add .
2. $ git commit -am "make it better"(或其他名稱可自取)
3. $ git push heroku master


**==要特別注意輸入時的細節，不然很容易導致部署失敗==**


[1]:https://devcenter.heroku.com/articles/python-support

