国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Django筆記三十九之settings配置介紹

這篇具有很好參考價(jià)值的文章主要介紹了Django筆記三十九之settings配置介紹。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本文首發(fā)于公眾號:Hunter后端

原文鏈接:Django筆記三十九之settings配置介紹

這一篇筆記介紹 Django 里 settings.py 里一些常用的配置項(xiàng),這些配置有一些是在之前的筆記中有過介紹的,比如 logging 的日志配置,session 的會話配置等,這里就只做一下簡單的回顧,有一些是之前沒有介紹過的就著重介紹一下。

以下是本篇筆記目錄:

  1. 郵箱配置
  2. 允許訪問地址配置
  3. 數(shù)據(jù)庫配置
  4. 調(diào)試模式配置
  5. 注冊應(yīng)用程序配置
  6. 時(shí)區(qū)時(shí)間配置
  7. 會話配置
  8. 其他配置

1、郵箱配置

在前一篇筆記發(fā)送郵件的介紹中,有過詳細(xì)的介紹,比如 EMAIL_BACKEND,EMAIL_HOST 等,這里額外再介紹一個(gè)參數(shù) ADMINS。

這個(gè)參數(shù)其實(shí)在第三十篇筆記 log 日志記錄中有過介紹,當(dāng)我們設(shè)置的日志發(fā)送郵件模塊有指定等級的日志發(fā)生時(shí),會將郵件發(fā)送至 ADMINS 中定義的收件人列表。

這個(gè)參數(shù)是一個(gè)列表,每個(gè)元素也是一個(gè)元組或列表,第一個(gè)參數(shù)為收件人的名稱,第二個(gè)為收件人郵箱:

ADMINS = [
    ("Hunter", "120460xxx@qq.com"),
]

2、允許訪問地址配置

我們的系統(tǒng)是可以設(shè)置允許訪問的地址的,可以設(shè)置域名或者 IP,比如:

ALLOWED_HOSTS = ["192.168.1.9"]

這個(gè)參數(shù)的默認(rèn)值為空列表,則說明只允許該系統(tǒng)所在的服務(wù)器地址的其他服務(wù)可以訪問到 Django 服務(wù)。

如果想設(shè)置所有地址都可以訪問到我們的服務(wù),可以如此設(shè)置:

ALLOWED_HOSTS = ["*"]

3、數(shù)據(jù)庫配置

前面連接數(shù)據(jù)庫的時(shí)候,沒有做過多的介紹,都是直接使用,這里再做一下詳細(xì)的介紹,以下是一個(gè)示例:

DATABASES = {
    'default': {
        'ENGINE': "django.db.backends.mysql",
        "HOST": "192.168.1.31",
        'NAME': "func_test",
        "USER": "root",
        "PASSWORD": "123456",
        "PORT": 3306,
        "OPTIONS": {},
        "TEST": {},
    },
}

在 DATABASES 中,必須設(shè)置一個(gè) default 數(shù)據(jù)庫,也可以在里面添加其他數(shù)據(jù)庫連接,比如之前的多數(shù)據(jù)庫連接操作的筆記示例

其中,ENGINE 表示連接的數(shù)據(jù)庫類型,這里我們設(shè)置的是 MySQL,也可以設(shè)置成 postgresql,oracle,sqlite3。

這里我們連接使用的都是 MySQL,所以下面的配置項(xiàng)都是基于 MySQL 做的介紹。

HOST 表示連接數(shù)據(jù)庫的主機(jī)

NAME 表示要使用的數(shù)據(jù)庫名稱,比如我們這里 MySQL 的 func_test。如果使用的是 SQLite,那么這個(gè)地址應(yīng)該是一個(gè)完整路徑,下面是一個(gè)使用 SQLite 作為數(shù)據(jù)庫的示例:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': '/Users/hunter/…/sqlite3.db'
    }
}

USER 表示的是連接 MySQL 用到的用戶名

PASSWORD 則是密碼

PORT MySQL 一般是 3306,如果是映射的其他端口改成其他端口即可

CONN_MAX_AGE

還有一個(gè)參數(shù)為 CONN_MAX_AGE,表示一個(gè)數(shù)據(jù)庫連接的壽命,以秒為整數(shù),默認(rèn)為 0,表示每次數(shù)據(jù)庫請求結(jié)束之后即關(guān)閉數(shù)據(jù)庫連接。

如果設(shè)置為 60,那么數(shù)據(jù)庫連接在開啟之后 60s 即關(guān)閉此連接,在此期間,其他請求可以復(fù)用此連接。

如果設(shè)置為 None,則表示一直處于連接狀態(tài)。

OPTIONS

是用于添加連接數(shù)據(jù)庫時(shí)額外的參數(shù),比如我們的 MySQL 的連接配置不直接在 DATABASES 中定義,而是通過配置文件的方式使用,如下官方文檔的一個(gè)使用示例:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}


# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

這里的意思是,DATABASES 里的 default 數(shù)據(jù)庫連接使用的都是 my.cnf 里的配置選項(xiàng)

如果同時(shí)我們在 DATABASES["default"] 中也配置了 NAME,USER,PASSWORD 等參數(shù),連接應(yīng)該以哪個(gè)為準(zhǔn)呢?

是以 OPTIONS 里的參數(shù)為準(zhǔn),這里默認(rèn)的讀取配置順序是 OPTIONS > NAME, USER, PASSWORD, HOST, PORT

我們還可以在 OPTIONS 里設(shè)置數(shù)據(jù)庫的隔離等級:

* 'read uncommitted' 讀未提交
* 'read committed' 讀已提交
* 'repeatable read' 可重復(fù)讀
* 'serializable' 串行化

TEST

TEST 參數(shù)默認(rèn)也是一個(gè)空 dict,之前在單元測試那篇筆記中有過介紹,可以設(shè)置測試數(shù)據(jù)庫的字符集編碼,指定測試數(shù)據(jù)庫名稱等信息,示例如下:

DATABASES = {
    'default': {
        ...
        "TEST": {
            "CHARSET": "utf8",
            "NAME": "test_default_db",
        },
    }
}

4、調(diào)試模式配置

我們通過 settings 中的 DEBUG 參數(shù)來控制 Django 系統(tǒng)是否處于調(diào)試模式,DEBUG=True 則表示系統(tǒng)處于調(diào)試模式。

注意:永遠(yuǎn)不要在 DEBUG=True 的情況下將網(wǎng)站部署到生產(chǎn)環(huán)境

調(diào)試模式的主要功能之一就是顯示詳細(xì)的錯(cuò)誤頁面,比如在 DEBUG=True 的情況下,如果我們的接口發(fā)生異常,Django會顯示一個(gè)詳細(xì)的回溯,比如下面的信息:

3fffc1e1f0e8523a282bda14f43759d4.png

而如果我們設(shè)置 DEBUG=False,顯示的信息就會如下:

725c5a4da8d319aaffc39fa9888a98a6.png

返回給前臺的就是一個(gè)簡單的錯(cuò)誤頁面,而不是像上面一樣暴露出詳細(xì)的文件路徑和錯(cuò)誤信息

5、注冊應(yīng)用程序配置

INSTALLED_APPS,列表參數(shù),元素是在這個(gè) Django 系統(tǒng)中被啟用的應(yīng)用程序。

這個(gè)參數(shù)包含了 Django 系統(tǒng)初始化時(shí)候的一些配置類應(yīng)用程序,比如 django.contrib.admin, django.contrib.sessions 等

也包含我們創(chuàng)建的 application,比如我們創(chuàng)建了一個(gè)名為 blog 的 application,就可以在其中添加 'blog.apps.BlogConfig' 才可以被系統(tǒng)檢測到

6、時(shí)區(qū)時(shí)間配置

時(shí)區(qū)的設(shè)置與 settings.py 里的兩個(gè)參數(shù)相關(guān),一個(gè)是 TIME_ZONE,一個(gè)是 USE_TZ

TIME_ZONE 表示是時(shí)區(qū),USE_TZ 表示是否默認(rèn)是使用時(shí)區(qū)感知

我們獲取當(dāng)前時(shí)間有兩個(gè)方式,一個(gè)是通過 datetime,一個(gè)是通過 django.utils.timezone 獲取:

import datetime
print(datetime.datetime.now())

from django.utils import timezone
print(timezone.now())

如果設(shè)置 USE_TZ = True,不管 TIME_ZONE 設(shè)置的時(shí)區(qū)是哪個(gè),timezone.now() 輸出的永遠(yuǎn)是 UTC 時(shí)間,也就是格林威治時(shí)間,也就是比我們現(xiàn)在要早八個(gè)小時(shí)的時(shí)間

而 datetime.datetime.now() 則是會根據(jù) TIME_ZONE設(shè)置的時(shí)區(qū)顯示時(shí)間,比如設(shè)置為 “Ameraica/Chicago” 則會比格林威治時(shí)間早六個(gè)小時(shí),比我們當(dāng)前時(shí)間早14個(gè)小時(shí)

但是我們存儲到數(shù)據(jù)庫的時(shí)間是使用 timezone 的時(shí)間的,所以這個(gè)設(shè)置不太對的。

如果想要存儲到數(shù)據(jù)庫的時(shí)間和我們本地的時(shí)間一致,我們需要設(shè)置 USE_TZ 為 False,且設(shè)置 TIME_ZONE 的值為我們當(dāng)前時(shí)區(qū)東八區(qū)的時(shí)區(qū),這樣,這兩個(gè)輸出的時(shí)間值就一致了,且數(shù)據(jù)庫中存儲的值也是與我們當(dāng)前時(shí)間一致:

# settings.py

TIME_ZONE = "Asia/Shanghai"
USE_TZ = False


import datetime
from django.utils import timezone
print(datetime.datetime.now())
print(timezone.now())

# 2023-02-26 22:33:00.442966
# 2023-02-26 22:33:00.442982

7、會話配置

session 相關(guān)的配置在第三十二篇筆記的時(shí)候有過詳細(xì)介紹,這里只做一個(gè)索引介紹

SESSION_COOKIE_AGE

session 過期時(shí)間,以秒為單位

SESSION_COOKIE_NAME

用于會話的 cookie 的名稱,默認(rèn)為 sessionid,可在 settings.py 中自定義修改

SESSION_ENGINE

控制 Django 存儲會話數(shù)據(jù)的地方,默認(rèn)值為 'django.contrib.sessions.backends.db',也就是數(shù)據(jù)庫,django_session 這張表。

我們還在緩存那篇筆記中有過介紹如何將 session 存儲到 Redis 緩存中,這里不重復(fù)介紹了。

8、其他配置

還有一些配置,比如 日志配置 LOGGING,中間件配置 MIDDLEWARE 等,都在日志筆記,中間件筆記中都有過介紹,這里就不再贅述了。

這里介紹一下如何訪問 settings 中的配置,可以通過文件路徑的形式訪問,也可以通過 django.conf 訪問:

from hunter import settings
print(settings.DATABASES)

from django.conf import settings
print(settings.DATABASES)

這里,hunter 為我們系統(tǒng)的名稱,所以在系統(tǒng)根目錄下,hunter/ 也是 settings.py 文件的上層文件夾。
如果想獲取更多后端相關(guān)文章,可掃碼關(guān)注閱讀:
Django筆記三十九之settings配置介紹文章來源地址http://www.zghlxwxcb.cn/news/detail-437532.html

到了這里,關(guān)于Django筆記三十九之settings配置介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 第三十九講:神州無線AC基礎(chǔ)管理配置

    第三十九講:神州無線AC基礎(chǔ)管理配置

    ? ? ? 瘦AP零配置上線,對AP的管理和配置都在AC上進(jìn)行。AC的基礎(chǔ)管理包括AC的無線地址指定及無線功能開啟、AP的注冊、AP用戶數(shù)管理、自動(dòng)信道調(diào)整等。 一、配置AC 無線IP 地址 設(shè)置靜態(tài)的無線IP地址 查看AC選取的無線IP地址 ? 3.開啟無線功能 二、AP 注冊 1 .二層模式注冊

    2023年04月08日
    瀏覽(24)
  • 論文筆記(三十九)Learning Human-to-Robot Handovers from Point Clouds

    論文筆記(三十九)Learning Human-to-Robot Handovers from Point Clouds

    作者:Sammy Christen,Wei Yang,Claudia P′erez-D’Arpino,Otmar Hilliges,Dieter Fox,Yu-Wei Chao 來源:Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9654-9664) 原文:https://openaccess.thecvf.com/content/CVPR2023/papers/Christen_Learning_Human-to-Robot_Handovers_From_Point_Clouds_CVPR_2023_paper.pdf 代

    2024年01月16日
    瀏覽(24)
  • 第三十九章 配置鏡像 - 配置 ISCAgent - 在 UNIX Linux 和 macOS 系統(tǒng)上為非根實(shí)例啟動(dòng) ISCAgent

    盡管 IRIS 通常以根用戶身份安裝,但在 UNIX?/Linux 和 macOS 系統(tǒng)上,實(shí)例可能會被其他用戶安裝和運(yùn)行。 非根實(shí)例的 ISCAgent 由安裝用戶在后臺運(yùn)行 ISCAgentUser 腳本啟動(dòng),該腳本位于 IRISSYS 環(huán)境變量定義的目錄中,例如: 雖然可能無法將 ISCAgent 配置為在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng),但

    2023年04月26日
    瀏覽(17)
  • Django筆記三十八之發(fā)送郵件

    Django筆記三十八之發(fā)送郵件

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十八之發(fā)送郵件 這一篇筆記介紹如何在 Django 中發(fā)送郵件。 在 Python 中,提供了 smtplib 的郵件模塊,而 Django 在這個(gè)基礎(chǔ)上對其進(jìn)行了封裝,我們可以通過 django.core.mail 來調(diào)用。 以下是本篇筆記的目錄: 郵件配置項(xiàng) send_m

    2024年02月03日
    瀏覽(24)
  • Django筆記三十三之緩存操作

    Django筆記三十三之緩存操作

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十三之緩存操作 這一節(jié)介紹一下如何在 Django 中使用 redis 做緩存操作。 在 Django 中可以有很多種方式做緩存,比如數(shù)據(jù)庫,比如服務(wù)器文件,或者內(nèi)存,這里介紹用的比較多的使用 redis 作為緩存。 這篇筆記主要內(nèi)容如下:

    2024年02月01日
    瀏覽(23)
  • Django筆記三十之log日志記錄詳解

    Django筆記三十之log日志記錄詳解

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十之log日志的記錄詳解 這一節(jié)介紹在 Django 系統(tǒng)里使用 logging 記錄日志 以下是一個(gè)簡單的 logging 模塊示例,可以先預(yù)覽一下,接下來會詳細(xì)介紹各個(gè)模塊的具體功能: 以下是本篇筆記全部內(nèi)容: 模塊總覽 Loggers Handlers Fi

    2023年04月25日
    瀏覽(26)
  • Django筆記三十一之全局異常處理

    Django筆記三十一之全局異常處理

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十一之全局異常處理 這一篇筆記介紹 Django 的全局異常處理。 當(dāng)我們在處理一個(gè) request 請求時(shí),會盡可能的對接口數(shù)據(jù)的格式,內(nèi)部調(diào)用的函數(shù)做一些異常處理,但可能還是會有一些意想不到的漏網(wǎng)之魚,造成程序的異常

    2023年04月26日
    瀏覽(20)
  • Django筆記三十二之session登錄驗(yàn)證操作

    Django筆記三十二之session登錄驗(yàn)證操作

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十二之session登錄驗(yàn)證操作 這一篇筆記將介紹 session 相關(guān)的內(nèi)容,包括如何在系統(tǒng)中使用 session,以及利用 session 實(shí)現(xiàn)登錄認(rèn)證的功能。 這篇筆記將分為以下幾個(gè)內(nèi)容: session 的使用流程 session 的配置和相關(guān)方法 users 模塊的

    2024年02月01日
    瀏覽(21)
  • Django筆記三十七之多數(shù)據(jù)庫操作(補(bǔ)充版)

    Django筆記三十七之多數(shù)據(jù)庫操作(補(bǔ)充版)

    本文首發(fā)于公眾號:Hunter后端 原文鏈接:Django筆記三十七之多數(shù)據(jù)庫操作(補(bǔ)充版) 這一篇筆記介紹一下 Django 里使用多數(shù)據(jù)庫操作。 在第二十二篇筆記中只介紹了多數(shù)據(jù)庫的定義、同步命令和使用方式,這一篇筆記作為補(bǔ)充詳細(xì)介紹如何對 Django 系統(tǒng)的多個(gè)數(shù)據(jù)庫進(jìn)行針對的

    2024年02月03日
    瀏覽(95)
  • 【Django配置管理】settings文件配置

    【Django配置管理】settings文件配置

    原文作者 :我輩理想 版權(quán)聲明 :文章原創(chuàng),轉(zhuǎn)載時(shí)請務(wù)必加上原文超鏈接、作者信息和本聲明。 Django框架是python的一個(gè)web框架,可以使用豐富的python的庫。settings.py文件無論是本地開發(fā)還是環(huán)境部署都是經(jīng)常使用的文件,如果settings沒有配置好,開發(fā)將困難重重。很多時(shí)候

    2023年04月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包