Flask에서 환경 변수 작업
12527 단어 flasksecuritypythonenvironment
파이썬이란?
파이톤은 널리 사용되고 해석적이며 대상을 대상으로 하는 동적 의미를 가진 고급 프로그래밍 언어로 유니버설 프로그래밍에 사용된다.
이것은 Guido van Rossum이 "취미"프로그래밍 프로젝트로 만든 것입니다.
왜 우리는 구렁이를 좋아합니까?
파이톤의 용도는 무엇입니까?
파이톤은 많은 분야에서 자신의 응용 분야를 가지고 있는데 이런 분야는 다음과 같이 포함되지만 이에 국한되지 않는다.
이 글을 다 읽은 후에 우리는 파이톤에서 기억할 만한 개념들을 이해할 것이다.초보자에 대한 상세한 설명은 없을 수도 있지만, 중급과 전문의python 프로그래머에게 복습을 제공할 것이다.초보자도 이해할 수 있어, 좋은 소식!!
데이터 형식
문자는 문자 자체가 그 값을 결정하는 데이터로 파이톤은 기존의 문자를 제공한다.
파이썬에서 흔히 볼 수 있는 텍스트는 다음과 같습니다.
Python의 산술 연산
Python은 산술 연산에 대한 기존 지원을 지원합니다.이것을 사용하면 표현식과 연산자를 사용하여 이 동작을 수행할 수 있습니다.
변량
변수는 메모리에 값을 저장하기 위해 보존된 이름의 위치입니다.
작업의 결과를 저장하려면 변수라는 용기를 사용하십시오.변수 이름을 지정할 때 여기에 정의된 PEP 표준을 따라야 합니다PEP 8 --Style Guide for Python Code.
코멘트
주석은 코드에 더 많은 정보를 추가하는 데 사용할 수 있습니다.실행할 때 삭제됩니다.인류 독자는 소스 코드에 남겨진 정보를 통해 읽을 수 있다.Python의 주석은 한 줄의 텍스트로, 한 줄의 주석은
#
로 시작하고, 여러 줄의 주석은 """
로 시작한다기능
함수는 주어진 임무를 수행하는 관련 문장이다.따라서 함수를 몇 번 호출하든지, 언제 호출하든지, 이 문장들은 이 작업을 수행할 것이다.
함수는 우리가 프로그래머가 되는 것을 돕는다.
다행이다. 파이톤에 대한 회고로 돌아온 것을 환영한다.파이톤이 무엇인지, 그것을 어떻게 사용하는지 익숙해질수록 파이톤의 프로그래머가 될 수 있다는 것을 명심하라.
Every expert was once a beginner.
Python의 웹 개발
따라서 파이톤의 한 응용 분야는 웹 개발이다.너는 그것으로 기능이 강하고 속도가 빠른 웹 응용 프로그램을 만들 수 있다.이렇게 하는 과정에서 파이톤의 웹 개발을 돕기 위해 많은 도구와 프레임워크를 개발했다.
그 중 일부는 다음과 같지만 이에 국한되지 않는다.
Flask 프레임워크에 중점을 두겠습니다.FLASK에 대한 설명은 공식 문서를 참조하십시오.
Official Flask Documentation
Python 웹 개발을 시작하는 방법을 빠르게 이해하려면 다음을 고려하십시오.
일단 flask의 기본 개술을 익히면, 우리는 오늘의 주제에 들어갈 것이다.
최소한의 플라스크 응용을 제공한다. 예를 들면;
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World, dear Friend!'
@app.route('/page/<int:page_num>')
def content(page_num):
return f'<h1>Yoo.. It is your page {page_num}</h1>'
if __name__ == '__main__':
app.run(host='',port='',debug=True)
최소한의 응용 프로그램은 다음 순서에 따라 실행할 수 있습니다. (익숙하실 수도 있습니다.)광희절에
export FLASK_APP=app.py
flask run
다른 경우,flask 프로그램을 실행할 호스트와 포트 번호, 환경, 디버깅 모드 등을 지정해야 할 수도 있습니다. 이 모든 것을 export command
위에 포함해야 합니다.시간의 흐름에 따라 단조롭고 무미건조해질 수 있습니다. 멋진 프로젝트를 개발했기 때문에, 명령을 되돌려 보내기 위해 위쪽 화살표 키를 여러 번 눌렀습니다. (bash 사용자, 내 뜻을 알고 있습니다.)
우리의 목표는 시간을 절약하는 것이다. flask 프로그램을 실행할 때, 우리는 이렇게 하기만 하면 된다.
광희절에
flask run
export command
에 추가된 변수를 환경 변수라고 합니다.이 변수들은 flask 프로그램에서 프로젝트 서비스에 사용됩니다.환경 변수의 예는 다음과 같다.
사용자 정의 변수
또한 응용 프로그램을 데이터베이스에 연결하려면,python 코드에 인증서를 하드코딩해야 합니다. 이것은 추천하지 않습니다.
간단한 예는 다음과 같다.
from flask import Flask
app = Flask(__name__)
app.config[MYSQL_USER]="your_username"
app.config[MYSQL_HOST]="localhost"
app.config[MYSQL_DB]="my_appdb"
app.config[MYSQL_PASSWORD]="your_password"
@app.route('/')
def index():
return {'Message': 'Hello World'}
만약 다른 사람과 함께 큰 프로젝트를 하고 있다면, 이런 하드코딩 인증서는 이상적이지 않다만약 당신이 엄격한 암호 정책을 준수하지 않는다면, 어느 곳에서든지 암호를 사용하세요...너 까였어!너는 방금 전 세계와 너의 비밀번호를 공유했다.
그러면 우리는 소병 환경 변수를 어떻게 처리합니까?
flask 환경 변수를 자동으로 불러오는 방법을 볼 수 있습니다.flask 프로그램을 실행할 때마다 환경 변수를 설정하는 것에 싫증이 났기 때문에 여기에 왔습니까?FLASK APP 또는 FLASK ENV using
export command
과 같은 변수입니다.내가 도와줄게.1단계:python dotenv 설치
당신의 가상 환경에서 달리기;
pip install python-dotenv
내가 강조하고자 하는 것은 반드시 시스템에서 가상 환경을 사용하여 주요 Python 설치를 파괴하는 것을 방지해야 한다는 것이다.가상 환경을 만드는 방법을 다시 보려면 이 설명서를 참조하십시오.Creation of Virtual Environments 두 번째 단계: 하나를 만듭니다.env와프로젝트 루트 폴더의 flaskenv 파일
광희절에
touch .env
touch .flaskenv
3단계: 플라스크 환경 변수를 넣는다.프라스칸프
당신의 용례에 따라, 이것은 당신에게 어떤 내용을 포함하는지 지도할 것입니다.
들어와.프라스칸프
//this is the .flaskenv file
FLASK_ENV - Controls the environment.
FLASK_DEBUG - Enables debug mode.
FLASK_RUN_EXTRA_FILES - A list of files that will be watched by the re-loader in addition to the Python modules.
FLASK_RUN_HOST - The host you want to bind your app to.
FLASK_RUN_PORT - The port you want to use.
FLASK_RUN_CERT - A certificate file for so your app can be run with HTTPS.
FLASK_RUN_KEY - The key file for your cert.
예를 들면 다음과 같습니다.FLASK_APP=app.py
잘했어.프로그램을 즉시 실행하려면 실행하기만 하면 된다.너무 빨라...정확하다네, 그래서 flask 환경 변수가 부족한 것을 찾지 않고 프로그래밍에 전념할 수 있습니다.
그럼 제가 비밀리에 정의한 환경 변수는요?
네, 지금부터 시작하겠습니다.이 지침을 따르다.
첫걸음비밀리에 정의된 환경 변수를 넣습니다.컨디션
다음을 포함할 수 있습니다.
(기타 제외)
//This is the .env file
MYSQL_USER=root
MYSQL_PASSWORD=my_mysql_password
MYSQL_DB=userdb
MYSQL_HOST=localhost
SECRET_KEY=topsecretkey
API_KEY=donotsharethisapikeywithanyone
2단계: 새 설정을 만듭니다.py 파일
(이 변수는 자동으로 제공되지 않기 때문에, 우리는 이
settings.py
파일을 통해 그것들을 불러와야 한다)설정에 있습니다.py
//This is the settings.py file
from os import environ
SECRET_KEY=environ.get('SECRET_KEY)
API_KEY=environ.get('API_KEY')
MYSQL_USER=environ.get('MYSQL_USER')
//add any more variables you have
주의: 일치성을 유지하기 위해서는 환경 변수와 같은 변수 이름을 유지하는 것이 좋습니다.3단계: 어플리케이션에 구성 추가
app.py
에 플라스크 대상이 포함된 파일.app.config.from_pyfile('settings.py')
# loading all environment variables from settings.py
따라서 발생하는 것은 설정이다.py는 프로그램에 설치된 값을 읽습니다.env 파일을 설정에 정의된 방식으로 변수에 저장합니다.피야.flask 대상의 config 방법과
from_pyfile
하위 방법을 사용할 때 프로그램은 비밀리에 정의된 변수에 안전하게 접근합니다.예전처럼 당신의 응용 프로그램을 실행하면, 지금은 당신의 멋진 프로젝트로 세계에 서비스를 제공할 수 있습니다
보상 팁:
증거를 지나치게 보호하는 것을 피하기 위해서git 같은 버전 제어 시스템을 사용할 때 전송하지 마십시오.flaskenv 및.환경 파일.쓸 수 있어.gitignore 파일은 프로젝트 디렉터리에 있는 파일을 무시합니다.그것들은 여전히 로컬 시스템에 있다.
문장이 어때요?
친애하는 독자 여러분, 저는 당신들과 함께 공부하는 것을 좋아합니다.아래의 토론 부분에서 당신의 피드백을 저와 공유합니다.더 좋은 방법이 있나요?
좋은 친구는 다른 친구를 개선할 수 있으니 마음대로 나누세요.
나는 모든 사전 피드백에 감사한다.
Reference
이 문제에 관하여(Flask에서 환경 변수 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kubona_my/dealing-with-environment-variables-in-flask-o1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)