자동으로 코드를 변경하면 Python Flask 앱이 다시로드됩니다.


1 Answers

만약 당신이 테스트 / dev 환경에 대해 말한다면, 디버그 옵션을 사용하십시오. 코드 변경이 발생하면 플라스크 앱이 자동으로 다시로드됩니다.

app.run(debug=True)

또는 쉘에서 :

$ export FLASK_DEBUG=1
$ flask run

http://flask.pocoo.org/docs/quickstart/#debug-mode

Question

나는 파이썬으로 괜찮은 웹 애플리케이션을 개발하는 방법을 조사하고있다. 고차원 구조가 길어지기를 원하지 않기 때문에, 저의 선택은 가벼운 플라스크 프레임 워크 에 떨어졌습니다. 이것이 올바른 선택인지 시간이 알 수 있습니다.

이제 mod_wsgi를 사용하여 Apache 서버를 설정 했으므로 테스트 사이트가 잘 돌아갑니다. 그러나 py 또는 템플릿 파일의 변경 사항이 사이트에 자동으로 다시로드되도록하여 개발 루틴을 빠르게 진행하고 싶습니다. 사이트의 .wsgi 파일의 변경으로 인해 (심지어 WSGIScriptReloading이 아파치 설정 파일에없는) 재로드가 발생하지만 수동으로 (즉, 추가로 linebreak를 저장하여) 저장해야합니다. 일부 응용 프로그램의 py 파일을 편집 할 때 다시로드하는 방법이 있습니까? 또는 .wsgi 파일을 새로 고치는 IDE를 사용할 것으로 예상됩니까?




uwsgi를 사용하여 실행중인 경우 python 자동 다시로드 옵션을 살펴보십시오.

uwsgi --py-autoreload 1

예제 uwsgi-dev-example.ini :

[uwsgi]
socket = 127.0.0.1:5000
master = true
virtualenv = /Users/xxxx/.virtualenvs/sites_env
chdir = /Users/xxx/site_root
module = site_module:register_debug_server()
callable = app
uid = myuser
chmod-socket = 660
log-date = true
workers = 1
py-autoreload = 1

site_root / __ init__.py

def register_debug_server():
    from werkzeug.debug import DebuggedApplication

    app = Flask(__name__)
    app.debug = True
    app = DebuggedApplication(app, evalex=True)
    return app

그런 다음 실행 :

uwsgi --ini uwsgi-dev-example.ini

참고 :이 예제는 디버거도 활성화합니다.

내 nginx 설치와 가능한 한 가깝게 프로덕션을 모방하기 위해이 경로를갔습니다. 단순히 nginx 뒤에 웹 서버에 내장되어있는 플라스크 응용 프로그램을 실행하면 잘못된 게이트웨이 오류가 발생합니다.




Related