この記事では詳細な説明setting.pyファイルでDjangoフレームワークを紹介し、このファイルはDjangoプロジェクトに関するすべての構成情報が含まれている、それが興味を持っている小さなパートナーはを参照することができ、特定の基準値、持っている
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.設定した時間帯と、一般的に使用される文字セットは、次の三つです。
設定はUTC時刻までの時間であるあなたがfalseに設定されていない場合、デフォルトはtrueで、データベースのタイプに保存されます。USE_TZ =真
TIME_ZONE =「アジア/上海」:タイムゾーンを設定
言語の設定:LANGUAGE_CODE = 'ZH-ハンス'
文字セット:DEFAULT_CHARSET = "UTF-8"
3.国際、個々のニーズに応じて設定します。
国際:USE_I18N =真
USE_L10N = TRUE:同じコンテンツを同時に(例えば、時間、日付、数など)は、異なるフォーマットでコンテンツを表示するかどうかを、領域のユーザ領域にアクセスしていません
4.展開構成:
デバッグモードが有効になっている:DEBUG = Trueの
IPアクセス、Webサービスの設定:ALLOWED_HOSTS = [ '*']
展開時間と指定一般FALSEとIPように変更DEBUG ALLOWED_HOSTSの値を変更し、例えば、[「127.0.0.1」]
5.それ以外の場合は引用しません、setting.pyにすべて大文字の変数ニーズの変数名をグローバル変数を定義します。
CONTEXTBOOL =偽
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',
]
独自のミドルウェアの設定を追加する必要がある場合は、上記のようにDjangoの一般的な構成は、また、私はこれ以上言うことはありません、自分自身を追加することができます。
暗号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,默认修改之后才保存(默认)
各構成の具体的な役割として、実質的にプロファイルを設定したコンテンツは、今後の記事で説明されます!
最後に、我々は非常に広いPythonの学習リソースの収集をお勧めします、[入力する]をクリック]、ここでのビジネス経験の可能性がある、経験、研究ノートを学ぶ前に、私のコレクションであり、プロジェクトの戦闘への情報に基づいてゼロに沈静化、我々は一番下に、メッセージを残し、前方に置くことを知らないことができ、我々は進歩を一緒に勉強します