2016-09-04 3 views
-1

제목에서 알 수 있듯이 데이터베이스와 모델을 사용하지 않고 작은 웹 응용 프로그램이 있습니다.플라스크 관리자를 사용하여 구성 매개 변수 설정

Flask 자체 구성 매개 변수 중 일부를 변경하려면 인터페이스를 사용하여 플라스크 관리자가 나를 신속하게 불러올 수 있다고 생각하십시오. 쉽게 가능합니까?

답변

1

일반적으로 서버를 다시 시작하지 않고 응용 프로그램을 시작한 후에는 구성을 변경할 수 없습니다.

  1. 응용 프로그램 (적어도 프로덕션 환경에서)은 여러 프로세스 (여러 서버에서도 가능)로 제공됩니다. 다른 프로세스가 다시 시작되고 다시 시작될 때까지 구성을 변경하면 요청을 처리 한 프로세스에만 영향을 미칩니다. 그렇더라도 구성을 읽은 후 한 번에 포크가 발생할 수 있습니다.
  2. 확장이 구성을 읽는 방법과 일관되지 않습니다. 일부 사용자는 모든 요청을 current_app에서 읽습니다. 일부는 init_app 동안 만 읽고 자신의 복사본을 저장하므로 구성을 변경해도 복사본이 변경되지는 않습니다.
  3. 매번 구성을 읽더라도 일부 구성 만 변경하거나 다른 단계도 필요합니다. 예를 들어 데이터베이스를 변경하는 경우 구성에 대해 전혀 모르는 이전 데이터베이스에 대한 모든 연결을 닫아야합니다. 또 다른 예는 디버그 모드를 변경할 수 있지만 아무 것도하지 않습니다. 대부분의 로깅이 미리 설정되기 때문입니다.

웹 응용 프로그램이 구성에 의존하는 유일한 것이 아니기 때문에 구성을 변경할 때 자동으로 다시 시작할 수있는 경우에도 셀러 같은 종속 서비스를 다시 시작해야합니다. 그리고 해당 서비스 은 완전히 다른 기계 또는 다른 사용자 일 수 있습니다.

구성은 일반적으로 파이썬 파일에 저장되므로 유효한 파이썬 코드를 덤프 할 수있는 시리얼 라이저를 만들거나 다른 형식의 구성 로더를 작성해야합니다.

Flask-Admin을 사용하여 구성을 편집 할 수있는 사용자 인터페이스를 만들 수는 있지만 이러한 문제에 도움이되지는 않습니다.

응용 프로그램을 시작한 후 Flask.config을 변경하고 시도해 볼 가치는 없습니다. 그것은 단지 그것을 위해 설계되지 않았습니다. 필요한 설정이 필요한 구성에 맞게 구성 시스템을 설계하십시오. 그러나 일반적으로 Flask.config을 변경할 수 있다고 기대하지는 마십시오.

+0

답변 해 주셔서 감사합니다. 내 자신의 구성 매개 변수 (나는 내 ​​코드 함수에서 초기 값으로 사용)에 대한 인터페이스를 의미하고 아마도 내가 플라스크 - 관리자를 사용할 수 있지만 확실하지 않은 생각 ... – vlad