eunja511005 / AutoCoding

0 stars 0 forks source link

파이썬 시작 하기 #179

Open eunja511005 opened 3 months ago

eunja511005 commented 3 months ago

Python 버젼 확인

python3 -V

Python의 패키지 관리자

pip --version

디렉토리 이동

cd /home/opc/app/python/projects

가상환경 생성

python3 -m venv myenv
(/home/opc/app/python/projects/myenv 디렉토리 생성 됨)

가상환경 활성화

source myenv/bin/activate 
pip list --version

Flask를 사용하여 REST 서비스를 만들기 위해 Flask를 설치

pip install Flask

소스 디렉토리

mkdir /home/opc/app/python/projects/app
cd app
vi app.py
'test'만 입력하고 저장후 VS Code로 열어서 내용 입력
python app.py 입력하여 실행
http://193.123.233.105:5000/  로 테스트

app.py 소스 코드

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=8080)
from flask import Flask, render_template, request, redirect, url_for

app = Flask(__name__)

# 사용자 정보 (간단한 예제를 위해 하드코딩)
users = {
    'user1': 'password1',
    'user2': 'password2',
    'user3': 'password3'
}

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

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    password = request.form['password']
    if username in users and users[username] == password:
        return f'Welcome, {username}!'
    else:
        return 'Invalid username or password. Please try again.'

@app.route('/hello')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=8080)

가상환경 비활성화

deactivate
eunja511005 commented 3 months ago

flask access 로그 설정

pip install gunicorn
gunicorn app:app --access-logfile /home/opc/app/python/projects/app/logs/access.log