파이썬 기반 튜토리얼 : setting.py 파일 자세한 설명의 장고 프레임 워크

이 문서는 특정 참조 값이, 상세한 설명의 setting.py 파일의 장고 프레임 워크,이 파일이 모든 장고 프로젝트에 대한 구성 정보를 포함 소개, 관심있는 작은 파트너를 참조 할 수 있습니다
1.로드 데이터베이스 구성 데이터베이스가 seting.py 파일에서 사망 쓸 수 없습니다, 다음과 같은 방법으로 다른 파일, 구성 데이터베이스를 읽을 수 있습니다 :

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입니다 :

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

특정 동작은 config 폴더, 폴더를 만드는 것입니다 그리고 당신은 같은 수준에서이 패키지를 프로젝트 및 문서로 읽고 다음 아래에 다음의 config.json에서 파일을 만듭니다

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

위의 코드에서, 엔진은 다른 데이터베이스에 대한 서로 다른 엔진의 공식 작업을 설명하기 위해, 다음과 같은 몇 가지 자주 사용된다 :

SQLite는 데이터베이스 : 'django.db.backends.sqlite3'

PostgreSQL 데이터베이스 : 'django.db.backends.postgresql_psycopg2'

MySQL의 데이터베이스 : 'django.db.backends.mysql'

Oracle 데이터베이스 : 'django.db.backends.oracle'

2. 시간대와 세를 따르고 있습니다, 일반적으로 사용되는 문자 집합을 설정합니다 :

당신이 false로 설정하지 않으면 설정이 데이터베이스 유형에 저장됩니다은 UTC 시간과 시간, 기본값은 true입니다 : USE_TZ은 진정한 =

시간대를 설정합니다 TIME_ZONE를 = '아시아 / 상하이'

언어 설정 : LANGUAGE_CODE = '에서 zh-시선'

문자 집합 : DEFAULT_CHARSET = "UTF-8"

3. 국제, 개인의 필요에 따라 설정 :

국제화 : USE_I18N은 진정한 =

USE_L10N = TRUE : 동일한 콘텐츠를 동시에 (시간, 날짜, 숫자 등) 다른 형식의 콘텐츠를 표시 할 것인지, 영역의 사용자 영역에 액세스되지

4. 배포 구성 :

디버그 모드가 활성화됩니다 : DEBUG = TRUE

IP가 웹 서비스 구성 액세스 : = ALLOWED_HOSTS를 [ '*']

예를 들면, 배포 시간 DEBUG ALLOWED_HOSTS의 값을 변경할 수는 일반적으로 수정 FALSE IP 지정 [ '127.0.0.1']

setting.py 글로벌 변수를 정의 5. 모두 대문자의 변수 요구의 변수 이름은, 그렇지 않은 경우는 인용하지 않을 것이다 :

CONTEXTBOOL은 False =

6.app 설치 구성, 즉 INSTALLED_APPS 세트, 우리는이 구성에 새 항목을 추가 할 필요가, 각 구성의 의미는 나중에 설명한다 :

django.contrib.admin - 관리 사이트.

django.contrib.auth - 인증 시스템.

django.contrib.contenttypes - 프레임의 내용 유형.

django.contrib.sessions - 프레임 세션, 세션 데이터는 데이터베이스 테이블 django_session에서 볼 수 있습니다.

django.contrib.messages - 메시지 프레임.

django.contrib.staticfiles - 정적 파일을 관리하기위한 프레임 워크.

예를 들면 :

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

7.django 미들웨어 구성, 즉 미들웨어 배치, 사용자의 요청이 저면도 미들웨어 구성, 사용자에게 그 서버 응답 위에서부터 순차적으로 수행한다, 즉 최종 사용자 중에 조작 요청을 사용자로부터 미들웨어 요청이라고 시간은 다시 아래에서 위로 순서대로 수행 및 Java 필터는 매우 유사합니다 :

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',
]

당신이 당신의 자신의 미들웨어 구성을 추가해야하는 경우, 위와 같이 장고의 일반적인 구성은, 또한 내가 더 이상 말을하지 않습니다, 당신의 자신을 추가 할 수 있습니다.

암호화 8.setting 염 :

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

이 구성은, 값이 알고리즘 startProject 시스템에 의해 생성되는과 공격을 방지 장고 보안 구성이다.

9. 정적 파일 디렉토리 구성 (가장 중요한)
디렉토리에 파일이 구성의 nginx에 배치되는 모든 정적 경우 여기를 차례로 정적 자원의 nginx.

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

별명이 별명은 HTML에서 인용 된 이름입니다

STATIC_URL = '/commonstatic/'

예를 들어, 다음 내부 HTML 이하에서 도시되는 정적 commonstatic 실제로이다 :

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

그림 삽입 설명 여기
장고의 정적 파일의 디렉토리 위치를 지정

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

그림 삽입 설명 여기
일반적으로, 전술 한 정적 파일 거의 보편적 위의 구성, 다시 제공 몇 가지 경우에 대한 절대 필요.

10.session 세션 구성 (다음 구성은 django_session 데이터베이스에 저장됩니다)

SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默认)
SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默认)
SESSION_COOKIE_SECURE = False # 是否Https传输cookie(默认)
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
SESSION_COOKIE_AGE = 60 * 30 # Session的cookie失效日期(30min)(默认)
SESSION_EXPIRE_AT_BROWSER_CLOSE = True # 是否关闭浏览器使得Session过期(默认)
SESSION_SAVE_EVERY_REQUEST = True # 是否每次请求都保存Session,默认修改之后才保存(默认)

각 구성의 구체적인 역할은 향후 문서에서 설명 될 것이다 실질적으로 내용 설정 프로파일!
마지막으로, 우리는 매우 넓은 파이썬 학습 자원 수집을 추천, [입력 클릭] , 여기에 사업 경험의 기회가, 경험, 연구 노트를 학습하기 전에 내 컬렉션이며, 프로젝트의 전투에 대한 정보를 바탕으로 제로로 진정 우리는 아래에, 앞으로 넣어 모르는 메시지를 남길 수 있습니다 우리는 진행 상황을 함께 공부합니다

게시 22 개 원래 기사 · 원 찬양 9 ·은 10000 +를 볼

추천

출처blog.csdn.net/haoxun08/article/details/104740808