초보자를 위한 Python Flask의 온도 변환기

오늘은 사용자가 화씨 또는 섭씨로 값을 입력하면 시스템이 몇 가지 계산을 수행하고 사용자 선택에 따라 값을 섭씨 또는 화씨로 반환하는 플라스크 모듈을 사용하여 온도 변환기 앱을 만드는 방법에 대해 설명합니다.

온도 변환기 앱

이 프로젝트를 시작하기 전에 컴퓨터에 Python installed이 있는지 확인하십시오.
1단계: flask_project7이라는 이름으로 폴더 생성

PS C:\VSCODE_PROJECTS\Flask 프로젝트> mkdir flask_project7
PS C:\VSCODE_PROJECTS\Flask 프로젝트> cd .\flask_project7\

2단계: pip install virtualenv 명령을 사용하여 가상 환경 설치

PS C:\VSCODE_PROJECTS\Flask Projects\flask_project7> pip install virtualenv

3단계: 프로젝트에 사용할 가상 환경 생성

PS C:\VSCODE_PROJECTS\Flask 프로젝트\flask_project7> py -3 -m venv env

4단계: 생성된 환경 활성화

PS C:\VSCODE_PROJECTS\Flask 프로젝트\flask_project7> .\env\Scripts\activate

5단계: 이제 pip install flask 명령을 사용하여 플라스크를 설치합니다.

(env) PS C:\VSCODE_PROJECTS\Flask Projects\flask_project7> pip 설치 플라스크

6단계: main.py 파일을 만들고 그 안에 다음 코드를 추가합니다. (main.py 파일을 기본 폴더 즉 flask_project7에 배치했는지 확인하고 os를 설치합니다.

from flask import Flask, redirect, request,url_for,render_template
import flask
import requests
from bs4 import BeautifulSoup
import lxml
import os


app = Flask(__name__)


def fahrentocelsius(val1):
      celsius = ((val1-32)*5)/9  
      return celsius

def celsiustofahren(val2):
      fahrein = float(val2)*1.8 +32
      return fahrein

@app.route('/',methods = ['POST', 'GET'])
def main_method():
      val1=''
      result1 = ''
      val2 = ''
      result2 = ''
      if request.method=='POST' and 'fahren_celsius' in request.form:
            val1 = float(request.form.get('enter'))
            result1 = fahrentocelsius(val1)
      elif request.method=='POST' and 'celsius_fahren' in request.form:
            val2 = float(request.form.get('enter'))
            result2 = celsiustofahren(val2)


      return render_template('index.html',conversion1 = result1,conversion2 = result2)


if __name__ == '__main__':
   app.run(debug = True)
In the templates/index.html file place the following code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My Notepad</title>
    <style>
                div {
        width: 70%;
        border: 15px solid green;
        padding: 50px;
        margin: 50px;
        }

    </style>
</head>
<body>
    <h1 style = 'background-color: rgb(238, 238, 236);color: green;text-align:center;font-family: "Lucida Console", "Courier New", monospace;'>Let's Convert the Temperatures</h1>
    <div><h2>Fahrenheit to Celsius Conversion</h2>
    <form action = '' method = "POST">
        <input type="text" name = "enter" size="5">

        <input type = "submit" name = "fahren_celsius" value = "Convert" />
        <p>It is {{ conversion1 }}<span>&#176;</span>C</p>
    </form>
    <br>
    <h2>Celsius to Fahrenheit Conversion</h2>
    <form action = '' method = "POST">
        <input type="text" name = "enter" size="5">
        <input type = "submit" name = "celsius_fahren" value = "Convert" />
        <p>It is {{ conversion2 }}<span>&#176;</span>F</p>
    </form>
    <br>
</div>

</body>
</html>


7단계: 변수 FLASK_APP를 파일 이름으로 설정합니다. 우리의 경우 "main.py"입니다.

(env) PS C:\VSCODE_PROJECTS\Flask Projects\flask_project7> FLASK_APP=main.py 설정
(env) PS C:\VSCODE_PROJECTS\Flask Projects\flask_project7> $env:FLASK_APP="main.py"

8단계: 이제 최종 플라스크 앱을 실행합니다.

(env) PS C:\VSCODE_PROJECTS\Flask Projects\flask_project7> 플라스크 실행
  • Flask 앱 'main.py' 제공(지연 로딩)
  • 환경: 생산
    경고: 이것은 개발 서버입니다. 프로덕션 배포에서는 사용하지 마십시오.
    대신 프로덕션 WSGI 서버를 사용하십시오.
  • 디버그 모드: 꺼짐
  • http://127.0.0.1:5000/에서 실행 중(종료하려면 CTRL+C를 누르십시오)
    도착 http://127.0.0.1:5000/

  • 설명:
    첫 번째 부분에서는 코드를 실행하는 데 필요한 라이브러리를 가져와야 합니다.

    from flask import Flask, redirect, request,url_for,render_template
    import flask
    import os
    


    다음 단계에서는 값을 입력으로 받아 아래 수학 공식을 사용하여 섭씨로 변환하는 함수를 작성해야 합니다.

    def fahrentocelsius(val1):
          celsius = ((val1-32)*5)/9 # mathematical formula to convert temp 
          return celsius
    


    그런 다음 섭씨를 화씨로 변환하는 다른 기능을 개발하십시오.

    def celsiustofahren(val2):
          fahrein = float(val2)*1.8 +32
          return fahrein
    


    이제 플라스크의 주요 기능으로 오십시오.

    @app.route('/',methods = ['POST', 'GET'])
    def main_method():
          val1=''
          result1 = ''
          val2 = ''
          result2 = ''
          if request.method=='POST' and 'fahren_celsius' in request.form:
                val1 = float(request.form.get('enter'))
                result1 = fahrentocelsius(val1)
          elif request.method=='POST' and 'celsius_fahren' in request.form:
                val2 = float(request.form.get('enter'))
                result2 = celsiustofahren(val2)
    
    
          return render_template('index.html',conversion1 = result1,conversion2 = result2)
    


    여기서는 val1,val2,result1 및 result2에 대한 빈 값을 초기화합니다. HTML 페이지에서와 같이 버튼을 제출한 두 가지 양식을 사용하고 있으므로 사용자가 제출한 양식을 기반으로 함수를 호출해야 합니다. 예를 들어 사용자가 온도를 화씨에서 섭씨로 변환하려는 경우 값이 첫 번째 형식으로 추가됩니다.

    좋은 웹페이지 즐겨찾기