Flask/ロリポップでFlask

SSH TeraTerm
pipの導入

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python3 get-pip.py --user


PATHを通す

pwd
/home/users/番号/ユーザー名

vi .bash_profile

PATH=$PATH:/home/users/番号/ユーザー名/.local/bin
export PATH

source .bash_profile


確認

pip3 list
Package                Version
---------------------- -----------
mysql-connector-python 8.0.17
mysqlclient            1.4.2.post1
pip                    20.2.4
protobuf               3.9.0
PyMySQL                0.9.3
setuptools             40.8.0
six                    1.12.0
wheel                  0.35.1


Flaskをインストール

pip3 install flask
	
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /flask-test/index.cgi/$1 [QSA,L]

パーミッションは、604。フォルダ名がflask-testでない場合は、/flask-test/index.cgiの部分を変更
    
helloFlask.py
from flask import Flask , render_template

app = Flask(__name__)

@app.route('/')
def hello():
    return 'h1>Hello World/h1>'

@app.route('/render')
def index():
    return render_template('render.html')

if __name__ == '__main__':
    app.run(debug=True)


パーミッションは、600

    
index.cgi
#!/usr/local/bin/python3
from wsgiref.handlers import CGIHandler
from helloFlask import app
CGIHandler().run(app)

パーミッションは、700。.pyファイル名をhelloFlask.pyから変えている場合は、helloFlaskの部分を変更
    
render.html
!DOCTYPE html>
html>
    head>
    /head>
    body>
    h1>render template/h1>
    /body>
/html>

パーミッションは、604

    
動作テスト
/flask-test
Hello World

/flask-test/render
render template