欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django框架的中的setting.py文件說(shuō)明詳解

 更新時(shí)間:2018年10月15日 09:22:32   作者:豆芽胡  
這篇文章主要介紹了Django框架的中的setting.py文件說(shuō)明詳解,這個(gè)文件包含了所有有關(guān)這個(gè)Django項(xiàng)目的配置信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1.加載數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的配置不能寫(xiě)死在seting.py文件中,下面的方式是讀取另外一個(gè)文件,配置數(shù)據(jù)庫(kù):

config = ''
with open(os.path.join(BASE_DIR, 'config/config.json'), 'rt') as f:
  config = json.load(f)
 
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'szrqgl',
    'USER': config['db_user'],
    'PASSWORD': config['db_pwd'],
    'HOST': config['db_host'],
    'POST': config['db_port']
  }
}

上面的BASE_DIR一般使用的都是默認(rèn)值,即:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

具體操作是創(chuàng)建一個(gè)config文件夾,該文件夾和你這個(gè)項(xiàng)目包同級(jí),然后在其下面創(chuàng)建一個(gè)config.json文件,文件內(nèi)容如下:

{
 "db_user": "root",
 "db_pwd": "123456",
 "db_host": "127.0.0.1",
 "db_port": "3306"
}

在上面的代碼中,ENGINE要說(shuō)明一下,官方提供了針對(duì)不同數(shù)據(jù)庫(kù)的的不同操作引擎,以下是經(jīng)常用的幾個(gè):

 sqlite數(shù)據(jù)庫(kù):'django.db.backends.sqlite3', 

 postgreSQL數(shù)據(jù)庫(kù):'django.db.backends.postgresql_psycopg2',

 mysql數(shù)據(jù)庫(kù):'django.db.backends.mysql'

 oracle數(shù)據(jù)庫(kù):'django.db.backends.oracle'

2.時(shí)區(qū)設(shè)置和字符集設(shè)置,一般用的都是下面三個(gè):

設(shè)置保存到數(shù)據(jù)庫(kù)時(shí)間類(lèi)型是否為UTC時(shí)間,如果不需要請(qǐng)?jiān)O(shè)置為false,默認(rèn)為true:USE_TZ = True

設(shè)置時(shí)區(qū):TIME_ZONE = 'Asia/Shanghai'

設(shè)置語(yǔ)言:LANGUAGE_CODE = 'zh-hans'

設(shè)置字符集:DEFAULT_CHARSET = "utf-8"

3.設(shè)置國(guó)際化,根據(jù)個(gè)人需要進(jìn)行設(shè)置:

國(guó)際化:USE_I18N = True

相同內(nèi)容被不同時(shí)區(qū)地區(qū)的用戶(hù)訪(fǎng)問(wèn)時(shí),是否以不同格式內(nèi)容展示(例如時(shí)間,日期,數(shù)字):USE_L10N = True

4.部署配置:

調(diào)試模式是否開(kāi)啟:DEBUG = True

訪(fǎng)問(wèn)web服務(wù)的的Ip配置:ALLOWED_HOSTS = ['*']

部署的時(shí)候請(qǐng)修改DEBUG和ALLOWED_HOSTS的值,一般將其修改為FALSE和指定ip,例如['127.0.0.1']

5.在setting.py中定義全局變量,該變量的變量名需要全部大寫(xiě),否則會(huì)引用不到:

CONTEXTBOOL= False

6.app的安裝配置,即INSTALLED_APPS設(shè)置,我們新建的項(xiàng)目需要添加到該配置下,每個(gè)配置的意義以后說(shuō)明:

django.contrib.admin —— 管理站點(diǎn)。

django.contrib.auth —— 認(rèn)證系統(tǒng)。

django.contrib.contenttypes —— 用于內(nèi)容類(lèi)型的框架。

django.contrib.sessions —— 會(huì)話(huà)框架,session數(shù)據(jù)可以在數(shù)據(jù)庫(kù)中的django_session表中查看。

django.contrib.messages —— 消息框架。

django.contrib.staticfiles —— 管理靜態(tài)文件的框架。

例如:

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'demo1',
]

7.django的中間件配置,即MIDDLEWARE設(shè)置,所謂中間件就是從用戶(hù)請(qǐng)求到用戶(hù)請(qǐng)求結(jié)束期間所做的操作,即用戶(hù)的請(qǐng)求會(huì)次從上到下依次執(zhí)行MIDDLEWARE中的配置,然后服務(wù)器響應(yīng)用戶(hù)的時(shí)候會(huì)再次從下至上依次執(zhí)行,和Java的Filter很相像:

MIDDLEWARE = [
  'django.middleware.security.SecurityMiddleware',
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.middleware.common.CommonMiddleware',
  'django.middleware.csrf.CsrfViewMiddleware',
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.contrib.messages.middleware.MessageMiddleware',
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

一般的django配置如上圖,如果需要自己添加中間件配置的,也可自己添加,這里不再多說(shuō)。

8.setting中的加密鹽:

SECRET_KEY = 'i&&2$s&#%7npev^#uix==kis+h$4$ozscefiaw1c%p^+1c(l&6'

該配置是django的安全配置,防止攻擊用的,該值是startProject時(shí)用系統(tǒng)的某個(gè)算法產(chǎn)生的.

9.靜態(tài)文件目錄配置(重中之重)

# 所有靜態(tài)文件放置目錄,在配置nginx的時(shí)候,nginx的靜態(tài)資源要指向這里。

STATIC_ROOT = os.path.join(BASE_DIR, 'static').replace('\\', '/')

# 別名,這個(gè)別名指的是在html引用的名稱(chēng)

STATIC_URL = '/commonstatic/'

例如,下面的這個(gè)static實(shí)際上就是commonstatic,其在html里面顯示如下:

{% block styles %}
  <link rel="stylesheet" href="{% static '/plugins/bootstrapValidator/bootstrapValidator.min.css' %}" rel="external nofollow" >
{% endblock %}


# 在django中指定靜態(tài)文件的目錄所在地

STATICFILES_DIRS = (
  os.path.join(BASE_DIR, 'commonstatic/').replace('\\', '/'),
)


一般情況下,上述的靜態(tài)文件配置上面幾乎可通用,絕少數(shù)情況下需要另配。

10.session會(huì)話(huà)配置(下面的配置會(huì)保存在數(shù)據(jù)庫(kù)的django_session中):

SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默認(rèn))
SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在瀏覽器上時(shí)的key,即:sessionid=隨機(jī)字符串(默認(rèn))
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路徑(默認(rèn))
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默認(rèn))
SESSION_COOKIE_SECURE = False # 是否Https傳輸cookie(默認(rèn))
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http傳輸(默認(rèn))
SESSION_COOKIE_AGE = 60 * 30 # Session的cookie失效日期(30min)(默認(rèn))
SESSION_EXPIRE_AT_BROWSER_CLOSE = True # 是否關(guān)閉瀏覽器使得Session過(guò)期(默認(rèn))
SESSION_SAVE_EVERY_REQUEST = True # 是否每次請(qǐng)求都保存Session,默認(rèn)修改之后才保存(默認(rèn))

setting配置文件的內(nèi)容大致如上,具體每個(gè)配置的作用會(huì)在以后的文章中進(jìn)行說(shuō)明!

 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 你所不知道的Python技巧13招【實(shí)用】

    你所不知道的Python技巧13招【實(shí)用】

    有時(shí)候你會(huì)看到很Cool的Python代碼,你驚訝于它的簡(jiǎn)潔,你不由自主地贊嘆:竟然還能這樣寫(xiě),其實(shí),這些優(yōu)雅的代碼都要?dú)w功于Python的特性,只要你能掌握這些Pythonic的技巧,你一樣可以寫(xiě)出像詩(shī)一樣的Python代碼,本文主要介紹Python應(yīng)用的一些小技巧,一起來(lái)看下吧
    2016-12-12
  • python 對(duì)txt中每行內(nèi)容進(jìn)行批量替換的方法

    python 對(duì)txt中每行內(nèi)容進(jìn)行批量替換的方法

    今天小編就為大家分享一篇python 對(duì)txt中每行內(nèi)容進(jìn)行批量替換的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python連接mysql數(shù)據(jù)庫(kù)及簡(jiǎn)單增刪改查操作示例代碼

    Python連接mysql數(shù)據(jù)庫(kù)及簡(jiǎn)單增刪改查操作示例代碼

    這篇文章主要介紹了Python連接mysql數(shù)據(jù)庫(kù)及簡(jiǎn)單增刪改查操作示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音的項(xiàng)目實(shí)踐

    python實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音的項(xiàng)目實(shí)踐

    pyttsx3是一個(gè)Python庫(kù),用于文字轉(zhuǎn)語(yǔ)音的功能,它可以將文本轉(zhuǎn)換為語(yǔ)音,并使用不同的音頻引擎進(jìn)行輸出,本文就來(lái)詳細(xì)的介紹一下用法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解

    Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解

    這篇文章主要介紹了Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Tensorflow加載與預(yù)處理數(shù)據(jù)詳解實(shí)現(xiàn)方法

    Tensorflow加載與預(yù)處理數(shù)據(jù)詳解實(shí)現(xiàn)方法

    讀取大型數(shù)據(jù)集并對(duì)其進(jìn)行有效預(yù)處理可能對(duì)其他深度學(xué)習(xí)庫(kù)來(lái)說(shuō)很難實(shí)現(xiàn),但是TensorFlow借助Data API很容易實(shí)現(xiàn):只需創(chuàng)建一個(gè)數(shù)據(jù)集對(duì)象,并告訴它如何從何處獲取數(shù)據(jù)以及如何對(duì)其進(jìn)行轉(zhuǎn)換
    2022-11-11
  • python實(shí)現(xiàn)zencart產(chǎn)品數(shù)據(jù)導(dǎo)入到magento(python導(dǎo)入數(shù)據(jù))

    python實(shí)現(xiàn)zencart產(chǎn)品數(shù)據(jù)導(dǎo)入到magento(python導(dǎo)入數(shù)據(jù))

    這篇文章主要介紹了python實(shí)現(xiàn)zencart產(chǎn)品數(shù)據(jù)導(dǎo)入到magento(python導(dǎo)入數(shù)據(jù)),需要的朋友可以參考下
    2014-04-04
  • tensorflow 查看梯度方式

    tensorflow 查看梯度方式

    今天小編就為大家分享一篇tensorflow 查看梯度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Pyqt5自適應(yīng)布局實(shí)例

    Pyqt5自適應(yīng)布局實(shí)例

    今天小編就為大家分享一篇Pyqt5自適應(yīng)布局實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python圖的深度優(yōu)先和廣度優(yōu)先算法實(shí)例分析

    python圖的深度優(yōu)先和廣度優(yōu)先算法實(shí)例分析

    這篇文章主要介紹了python圖的深度優(yōu)先和廣度優(yōu)先算法,結(jié)合實(shí)例形式分析了圖的深度優(yōu)先算法與廣度優(yōu)先算法相關(guān)概念、原理、實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10

最新評(píng)論