官术网_书友最值得收藏!

3.1.1 Settings類

Settings類的定義如下:

從Settings類中可以直接得到第2個問題的答案。在該類的初始化方法中,先在全局的配置模塊(global_settings模塊)中遍歷大寫的屬性及其值并添加到該Settings對象中。這里用到了dir()和setattr()這兩個非常常見且十分重要的函數(shù),前者表示獲取模塊的屬性,后者表示給對象設置屬性及屬性值。這樣Settings對象就具備了global_settings模塊中的屬性,并且其值和global_settings模塊中的相同。之后再導入傳入的settings_module模塊,按同樣的方式設置該Settings對象的屬性。如果settings_module模塊和global_settings模塊中的屬性有交叉,則以settings_module模塊的為準(因為是后設置的)。接著是一些必須要設置的屬性值,比如SECRET_KEY值等。如果不在settings_module模塊中設置,即默認為空字符串,則會直接拋出異常。下面看一下該類的一個使用示例,代碼如下:

上面的示例演示了在配置文件中定義的三個變量值:DEBUG、SECRET_KEY和FILE_UPLOAD_MAX_MEMORY_SIZE。其中,前兩個變量在first_django.settings模塊中已定義,而第三個變量沒有在first_django.settings模塊中定義。因此,最終得到的Settings對象的前兩個屬性值為first_django.settings模塊中定義的變量值,而第三個屬性值為django.conf.global_settings模塊中定義的變量值。

主站蜘蛛池模板: 屯留县| 杭锦旗| 彩票| 府谷县| 常熟市| 清涧县| 石家庄市| 呼玛县| 平昌县| 高邑县| 杭州市| 高平市| 临夏县| 敦煌市| 和田市| 社会| 龙里县| 将乐县| 金山区| 湖口县| 安庆市| 江安县| 会理县| 临夏县| 大方县| 柳江县| 恩平市| 政和县| 房山区| 屯昌县| 突泉县| 临夏县| 兴化市| 温宿县| 宜丰县| 霍城县| 上犹县| 曲麻莱县| 平果县| 博乐市| 东辽县|