

チュートリアル通りにアプリケーションを作っています。  
<http://study-flask.readthedocs.io/ja/latest/02.html>  
の通りにチュートリアルを進めている中で、

[code]

    import sqlite3
    from flask import Flask, request, session, g, redirect, url_for, \
         abort, render_template, flash
    from contextlib import closing
    
    DATABASE = '/tmp/flaskr.db'
    DEBUG = True
    SECRET_KEY = 'development key'
    USERNAME = 'admin'
    PASSWORD = 'default'
    
    app = Flask(__name__)
    app.config.from_object(__name__)
    
[/code]

というコードが出てきました。この、

[code]

     app.config.from_object(__name__)
    
[/code]

がどういう役割なのかわかりません。チュートリアルには、大文字の変数を集めてくるもの、と書かれていましたが、集めてきてどうするのでしょうか？


CC BY-SA 4.0
2018-05-03T09:37:00.127
43759
2018-05-14T07:43:19.190
28399
question
python flask
app.config.from_object(__name__)は何をしているのか


そのモジュールに書いた大文字の変数群

[code]

    DATABASE = '/tmp/flaskr.db'
    DEBUG = True
    SECRET_KEY = 'development key'
    USERNAME = 'admin'
    PASSWORD = 'default'
    
[/code]

を一体何のつもりで書きましたか?  
Flaskアプリケーションの環境設定だと思って書いたのではないですか?

その行は「このモジュールがFlaskアプリケーションの環境設定用のオブジェクトになっているからこのモジュールから(大文字だけの変数を)環境設定として読み込んでね」という役割です。

* * *

> The configuration files themselves are actual Python files. Only  
>  values in uppercase are actually stored in the config object later on.  
>  So make sure to use uppercase letters for your config keys.

<http://flask.pocoo.org/docs/1.0/config/#configuring-from-files>


CC BY-SA 4.0
2018-05-14T07:34:41.707
43973
2018-05-14T07:43:19.190
2018-05-14T07:43:19.190
12274
12274
43759
answer