<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 配置 任何復雜點的應用,都不允許把配置寫在代碼里,要根據環境或安裝配置,而做不同的設置。 ## 基礎 Sanic在application對象的`config`屬性中管理配置。配置對象就是一個可以通過*.*或字典屬性來修改的對象: ```py app.config.DB_NAME = 'appdb' app.config.DB_USER = 'appuser' ``` 配置對象實際上是一個字典,可以使用`update`方法批量更新配置值。 ```py db_settings = { 'DB_HOST': 'localhost', 'DB_NAME': 'appdb', 'DB_USER': 'appuser' } app.config.update(db_settings) ``` 通常配置參數都用大寫字母。 ## 加載配置 有幾種發放來加載配置 ### 從環境變量讀取 任何一個變量如果是`SANIC_`前綴開頭,都會被應用成Sanic配置。例如`SANIC_REQUEST_TIMEOUT`會自動被應用加載,并提供給`REQUEST_TIMEOUT`變量。你也可以傳遞一個其它前綴: ```py app = Sanic(load_env='MYAPP_') ``` 然后,上面的超時配置環境變量會變成`MYAPP_REQUEST_TIMEOUT`: ```py environ["MYAPP_REQUEST_TIMEOUT"] = "42" app = Sanic(load_env='MYAPP_') assert app.config.REQUEST_TIMEOUT == 42 ``` 如果你想拒絕從環境變量中加載配置,可以把它設成`False`。 ```py app = Sanic(load_env=False) ``` ### 從對象讀取 如果有非常多配置值,并且它們都有默認值,那么將它們放到一個對象里會更方便管理: ```py class Config: not_for_config = 'should not be used' CONFIG_VALUE = 'should be used' app = Sanic('test_load_from_object') app.config.from_object(Config) assert app.config.CONFIG_VALUE == 'should be used' assert 'not_for_config' not in app.config ``` > 配置變量需要全部是大寫 ### 從文件中讀取 通常我們希望要加載的配置文件不限定為應用的一部分,例如配置文件統一放在一個配置目錄下`from_pyfile(/path/to/config_file)`。但是這么做,需要程序內寫好配置文件的路徑,所以我們可以把配置文件路徑寫到環境變量中,由Sanic加載。 ```py app = Sanic('myapp') app.config.from_envvar('MYAPP_SETTINGS') ``` 然后我們就可以使用`MYAPP_SETTINGS`環境變量來設置配置文件路徑了 ```bash $ MYAPP_SETTINGS=/path/to/config_file python3 myapp.py ``` 配置文件是一個正常的Python文件,只有全部為大寫字母的變量才會被加載,通常文件內容都是如下所示的鍵值對。 ```py # config_file DB_HOST = 'localhost' DB_NAME = 'appdb' DB_USER = 'appuser' ``` ## 內置變量 目前來說,Sanic有一些預定義的配置變量,我們編寫應用時可以覆蓋它們 |變量名|默認值|描述| | ------------- |:-------------:| -----:| |REQUEST_MAX_SIZE|100000000|request最大長度(bytes)| |REQUEST_TIMEOUT|60|request超時時間(秒)| |RESPONSE_TIMEOUT|60|response超時時間| |KEEP_ALIVE|True|是否維持長鏈接| |KEEP_ALIVE_TIMEOUT|5|長鏈接超時時間(秒)| 關于長鏈接具體的具體信息,請參見[Wiki](https://en.wikipedia.org/wiki/Keepalive)或自行百度。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看