모두

Mac 사전 요구 사항

설치하다.


python3 -m pip install flask

첫 번째 애플리케이션


코드app.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'hello'

app.run('0.0.0.0', port=5000, debug=True)
실행
python3 app.py
브라우저로 열기http://localhost:5000

패스 경로 매개 변수


코드app.py
from flask import Flask

app = Flask(__name__)

@app.route('/<msg>')
def hello(msg):
    return msg

app.run('0.0.0.0', port=5000, debug=True)
실행
python3 app.py
브라우저로 열기http://localhost:5000/hey

거푸집


템플릿 파일templates/hello.html
<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf8">
        <title>hello world</title>
    </head>
    <body>
        <h1>hello</h1>
    </body>
</html>
코드app.py
from flask import Flask, render_template

app = Flask(__name__)

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

app.run('0.0.0.0', port=5000, debug=True)
실행
python3 app.py
브라우저로 열기http://localhost:5000

템플릿에 값 커밋


템플릿templates/hello.html
<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf8">
        <title>hello world</title>
    </head>
    <body>
        <h1>{{ msg }}</h1>
    </body>
</html>
코드app.py
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def hello():
    return render_template('hello.html', msg='hi')

app.run('0.0.0.0', port=5000, debug=True)
실행
python3 app.py
브라우저로 열기http://localhost:5000

테이블 값 적용


코드app.py
from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/form', methods=['GET'])
def getForm():
    return render_template('form.html')

@app.route('/form', methods=['POST'])
def postForm():
    msg = request.form['msg']
    return msg

app.run('0.0.0.0', port=5000, debug=True)
형식form.html
<form action="http://localhost:5000/form" method="POST">
    msg: <input type="text" name="msg">
    <button type="submit">送信</button>
</form>
실행
python3 app.py
브라우저로 열기http://localhost:5000/form
폼에서 msg 값을 입력하고 단추를 누르십시오

템플릿if


코드app.py
from flask import Flask

app = Flask(__name__)

@app.route('/<msg>')
def hello(msg):
    return render_template('if.html', msg=msg)
    
app.run('0.0.0.0', port=5000, debug=True)
템플릿templates/if.html
<body>
{% if msg=='hello' %}
    <h1>Hello</h1>
{% else %}
    <h1>Good Bye!</h1>
{% endif %}
</body>
실행
python3 app.py
브라우저로 열기http://localhost:5000/hello
매개 변수를 바꾸어 보아라

템플릿의 for


코드app.py
from flask import Flask

app = Flask(__name__)

@app.route('/<msg>')
def hello(msg):
    return render_template('for.html')
    
app.run('0.0.0.0', port=5000, debug=True)
템플릿templates/for.html
<body>
    {% for i in range(5) %}
        <h1>{{ i }}</h1>
    {% endfor %}
</body>
용 브라우저http://localhost:5000

데이터베이스 연결


MongodB 사용

MongoDB


설치하다.
brew install mongodb-community
시작
brew services start mongodb-community

PyMongo


설치하다.
python3 -m pip install pymongo
코드
from flask import Flask, request, render_template
from pymongo import MongoClient
from bson.json_util import dumps

app = Flask(__name__)
mongo = MongoClient('mongodb://{username}:{password}@{server}:{port}/{database}')
db = mongo['db_name']

@app.route('/users', methods=['GET'])
def getUsers():
    users = db.users.find()
    #return dumps(users), 200
    return render_template('users.html', users=users)

@app.route('/users', methods=['POST'])
def createUser():
    user = {}
    user['id'] = request.form['id']
    user['name'] = request.form['name']
    db.users.insert_one(user)
    return 'created', 200

@app.route('/users/<id>', methods=['GET'])
def getUser(id):
    user = db.users.find_one({'id':id})
    return dumps(user), 200

@app.route('/users/<id>', methods=['PUT'])
def updateUser(id):
    user = {}
    user['name'] = request.form['name']
    db.users.update_one({'id':id}, {'$set':{'name':user['name']}})
    return 'updated', 200

@app.route('/users/<id>', methods=['DELETE'])
def deleteUser(id):
    db.users.delete_one({'id':id})
    return 'deleted', 200

app.run('0.0.0.0', port=5000, debug=True)
템플릿users.html
<html>
    <body>
        <ul>
            {% for user in users %}
            <li> {{ user.userid }} - {{ user.name }}</li>
            {% endfor %}
        </ul>
    </body>
</html>
시작
python3 app.py
브라우저로 열기http://localhost:5000/hello/taro

좋은 웹페이지 즐겨찾기