{"id":398,"date":"2021-04-24T11:25:13","date_gmt":"2021-04-24T02:25:13","guid":{"rendered":"http:\/\/www.agile-software.site\/?p=398"},"modified":"2021-07-18T13:21:14","modified_gmt":"2021-07-18T04:21:14","slug":"django-mysite-setting-py","status":"publish","type":"post","link":"https:\/\/agile-software.net\/?p=398","title":{"rendered":"Django (mysite\/setting.py)"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">import os<\/h4>\n\n\n\n<p>python\u3067\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u3044\u304f\u969b\u306b\u4fbf\u5229\u306a\u30c4\u30fc\u30eb\u304c\u5165\u3063\u3066\u3044\u308b\u3082\u306e<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DEBUG<\/h2>\n\n\n\n<p>\u300cDEBUG\u300d\u306f\u958b\u767a\u30e2\u30fc\u30c9\u3068\u672c\u756a\u30e2\u30fc\u30c9\u3092\u5207\u308a\u66ff\u3048\u3089\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u8a2d\u5b9a\u3067\u3059\u3002<br>\u958b\u767a\u6642\u306fTrue\u306b\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u30a8\u30e9\u30fc\u767a\u751f\u6642\u306b\u753b\u9762\u306b\u30c7\u30d0\u30c3\u30af\u60c5\u5831\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ALLOWED_HOSTS<\/h2>\n\n\n\n<p>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56\u306e\u305f\u3081\u306e\u8a2d\u5b9a\u3067\u5916\u90e8\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u3092\u53d7\u3051\u308b\u30b5\u30fc\u30d0\u30fc\u3092\u6307\u5b9a\u3059\u308b\u969b\u306b\u7528\u3044\u3089\u308c\u308b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>FQDN<\/li><li>IP\u30a2\u30c9\u30ec\u30b9<\/li><li>&#8216;*'(\u3059\u3079\u3066\u3092\u8a31\u53ef)<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">STATIC<\/h2>\n\n\n\n<p>web server\u306b<strong>STATIC_ROOT(static\/)<\/strong>\u3092\u898b\u306b\u884c\u304f\u3088\u3046\u306b<strong>STATIC_URL<\/strong>\u3067\u6307\u5b9a\u3059\u308b\u3002<br>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u305f\u969b\u306e\u9759\u7684\u30d5\u30a1\u30a4\u30eb(img\u30d5\u30a1\u30a4\u30eb\u306a\u3069)\u306f<strong>&#8220;Application\/static\/&#8221;<\/strong>\u306b\u4fdd\u7ba1\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u3002<br>\u3053\u308c\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3054\u3068\u306b\u4f5c\u6210\u3059\u308b\u306e\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u6570\u3060\u3051\u5897\u3048\u308b\u3002<br>\u3057\u304b\u3057\u3001\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u969b\u306b\u306f\u3001\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u306e\u7f6e\u304d\u5834\u6240\u3092\u8907\u6570\u3067\u306f\u306a\u304f\u3001\u4e00\u3064\u306e\u5834\u6240\u306b\u96c6\u3081\u3066\u3042\u3052\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<div class=\"wp-block-jin-gb-block-box-with-headline kaisetsu-box5\"><div class=\"kaisetsu-box5-title\">os path join<\/div>\n<p>\u5f15\u6570\u306b\u4e0e\u3048\u3089\u308c\u305f\u4e8c\u3064\u306e\u6587\u5b57\u5217\u3092\u7d50\u5408\u3055\u305b\u3001\u4e00\u3064\u306e\u30d1\u30b9\u306b\u3059\u308b\u4e8b\u304c\u3067\u304d\u307e\u3059\u3002<br>os.path.join(BASE_DIR, &#8216;static&#8217;)\u3068\u3059\u308b\u3053\u3068\u3067BASE_DIR\/static\u3068\u3044\u3046\u6587\u5b57\u5217\u304c\u8fd4\u3055\u308c\u308b<\/p>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">&#8220;static&#8221;\u3068\u3044\u3046\u30d5\u30a9\u30eb\u30c0\u3092\u6307\u5b9a<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>STATIC_ROOT = os.path.join(BASE_DIR, &#39;static&#39;)<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">STATIC_ROOT(static\/)\u3092\u898b\u306b\u884c\u304f\u3088\u3046\u306bSTATIC_URL\u3067\u6307\u5b9a<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>STATIC_URL = &#39;\/static\/&#39;<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"428\" src=\"http:\/\/www.agile-software.site\/wp-content\/uploads\/2021\/04\/STATIC.png\" alt=\"\" class=\"wp-image-445\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u753b\u50cf\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">web server\u306bSTATIC_ROOT(static\/)\u3092\u898b\u306b\u884c\u304f\u3088\u3046\u306bMEDIA_URL\u3067\u6307\u5b9a\u3059\u308b\u3002<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>MEDIA_URL = &#39;\/media\/&#39;<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">web server\u306bSTATIC_ROOT(static\/)\u3092\u898b\u306b\u884c\u304f\u3088\u3046\u306bMEDIA_URL\u3067\u6307\u5b9a\u3059\u308b\u3002<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>MEDIA_ROOT = os.path.join(BASE_DIR, &#39;media&#39;)<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">BASE_DIR<\/h2>\n\n\n\n<p>mysite\/settings.py\u306b\u304a\u3051\u308b17\u884c\u76ee\u306b\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<br>Django\u3067\u306fhtml\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u3092\u683c\u7d0d\u3057\u3066\u304a\u304f\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br>\u4e0b\u8a18\u306e\u30b3\u30fc\u30c9\u306f<span class=\"marker2\"><strong>BASE_DIR\u306fmanage.py\u30d5\u30a1\u30a4\u30eb\u304c\u5165\u3063\u3066\u3044\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u8868\u3057\u3066\u304a\u308a\u3001\u305d\u306e\u5834\u6240\u306fPath(<strong>file<\/strong>).resolve().parent.parent\u3067\u3059<\/strong><\/span>\u3002<br><strong>__file<\/strong>__\u306f\u5b9f\u884c\u3057\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u3067\u3042\u308bsettings.py<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>BASE_DIR = Path(__file__).resolve().parent.parent<\/code><\/pre><\/div>\n\n\n\n<p>TEMPLATES\u306bDIRS:[]\u3001&#8217;APP_DIRS&#8217;: True\u3068\u306a\u3063\u3066\u3044\u308b\u3002<br>\u3053\u308c\u306fDjango\u306f<strong>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5185\u306e\u5404\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u914d\u4e0b\u306b\u3042\u308b<code>templates<\/code>\u3068\u3044\u3046\u540d\u524d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185<\/strong>\u3092\u63a2\u7d22\u3059\u308b\u3068\u3044\u3046\u3053\u3068\u3002\u306a\u306e\u3067template\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3068\u304d\u306ftemplates\u30d5\u30a9\u30eb\u30c0\u306e\u4e2d\u306b\u683c\u7d0d\u3057\u3066\u3042\u3052\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>TEMPLATES = [\n    {\n        &#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,\n        &#39;DIRS&#39;: [],\n        &#39;APP_DIRS&#39;: True,\n        &#39;OPTIONS&#39;: {\n            &#39;context_processors&#39;: [\n                &#39;django.template.context_processors.debug&#39;,\n                &#39;django.template.context_processors.request&#39;,\n                &#39;django.contrib.auth.context_processors.auth&#39;,\n                &#39;django.contrib.messages.context_processors.messages&#39;,\n            ],\n        },\n    },\n]<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\" data-file=\"mysite\/settings.py\"><code>&quot;&quot;&quot;\nDjango settings for mysite project.\n\nGenerated by &#39;django-admin startproject&#39; using Django 3.1.8.\n\nFor more information on this file, see\nhttps:\/\/docs.djangoproject.com\/en\/3.1\/topics\/settings\/\n\nFor the full list of settings and their values, see\nhttps:\/\/docs.djangoproject.com\/en\/3.1\/ref\/settings\/\n&quot;&quot;&quot;\n\nfrom pathlib import Path\nimport os\n\n# Build paths inside the project like this: BASE_DIR \/ &#39;subdir&#39;.\nBASE_DIR = Path(__file__).resolve().parent.parent\n\n\n# Quick-start development settings - unsuitable for production\n# See https:\/\/docs.djangoproject.com\/en\/3.1\/howto\/deployment\/checklist\/\n\n# SECURITY WARNING: keep the secret key used in production secret!\nSECRET_KEY = &#39;2ojbz^6&fpgmo^)*+*x36hvh*4jin!vxerqx1s0-7&$05blo5$&#39;\n\n# SECURITY WARNING: don&#39;t run with debug turned on in production!\nDEBUG = True\n\nALLOWED_HOSTS = []\n\n\n# Application definition\n\nINSTALLED_APPS = [\n    &#39;django.contrib.admin&#39;,\n    &#39;django.contrib.auth&#39;,\n    &#39;django.contrib.contenttypes&#39;,\n    &#39;django.contrib.sessions&#39;,\n    &#39;django.contrib.messages&#39;,\n    &#39;django.contrib.staticfiles&#39;,\n    &#39;widget_tweaks&#39;,\n    &#39;app&#39;,\n    &#39;accounts&#39;, \n    &#39;django.contrib.sites&#39;,\n    &#39;allauth&#39;,\n    &#39;allauth.account&#39;,\n    &#39;allauth.socialaccount&#39;,\n]\n\nMIDDLEWARE = [\n    &#39;django.middleware.security.SecurityMiddleware&#39;,\n    &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,\n    &#39;django.middleware.common.CommonMiddleware&#39;,\n    &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,\n    &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,\n    &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,\n    &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;,\n]\n\nROOT_URLCONF = &#39;mysite.urls&#39;\n\nTEMPLATES = [\n    {\n        &#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,\n        &#39;DIRS&#39;: [],\n        &#39;APP_DIRS&#39;: True,\n        &#39;OPTIONS&#39;: {\n            &#39;context_processors&#39;: [\n                &#39;django.template.context_processors.debug&#39;,\n                &#39;django.template.context_processors.request&#39;,\n                &#39;django.contrib.auth.context_processors.auth&#39;,\n                &#39;django.contrib.messages.context_processors.messages&#39;,\n                &#39;app.context_processors.common&#39;,\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = &#39;mysite.wsgi.application&#39;\n\n\n# Database\n# https:\/\/docs.djangoproject.com\/en\/3.1\/ref\/settings\/#databases\n\nDATABASES = {\n    &#39;default&#39;: {\n        &#39;ENGINE&#39;: &#39;django.db.backends.sqlite3&#39;,\n        &#39;NAME&#39;: BASE_DIR \/ &#39;db.sqlite3&#39;,\n    }\n}\n\n\n# Password validation\n# https:\/\/docs.djangoproject.com\/en\/3.1\/ref\/settings\/#auth-password-validators\n\nAUTH_PASSWORD_VALIDATORS = [\n    {\n        &#39;NAME&#39;: &#39;django.contrib.auth.password_validation.UserAttributeSimilarityValidator&#39;,\n    },\n    {\n        &#39;NAME&#39;: &#39;django.contrib.auth.password_validation.MinimumLengthValidator&#39;,\n    },\n    {\n        &#39;NAME&#39;: &#39;django.contrib.auth.password_validation.CommonPasswordValidator&#39;,\n    },\n    {\n        &#39;NAME&#39;: &#39;django.contrib.auth.password_validation.NumericPasswordValidator&#39;,\n    },\n]\n\n\n# Internationalization\n# https:\/\/docs.djangoproject.com\/en\/3.1\/topics\/i18n\/\n\nLANGUAGE_CODE = &#39;ja&#39;\n\nTIME_ZONE = &#39;Asia\/Tokyo&#39;\n\nUSE_I18N = True\n\nUSE_L10N = True\n\nUSE_TZ = True\n\n\n# Static files (CSS, JavaScript, Images)\n# https:\/\/docs.djangoproject.com\/en\/3.1\/howto\/static-files\/\n\nSTATIC_URL = &#39;\/static\/&#39;\nSITE_ID = 1\nLOGIN_REDIRECT_URL = &#39;\/&#39;\nACCOUNT_LOGOUT_REDIRECT_URL = &#39;\/&#39;\nACCOUNT_EMAIL_VERIFICATION = &#39;none&#39;\n\nMEDIA_URL = &#39;\/media\/&#39;\nMEDIA_ROOT = os.path.join(BASE_DIR, &#39;media&#39;)<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>import os python\u3067\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u3044\u304f\u969b\u306b\u4fbf\u5229\u306a\u30c4\u30fc\u30eb\u304c\u5165\u3063\u3066\u3044\u308b\u3082\u306e DEBUG \u300cDEBUG\u300d\u306f\u958b\u767a\u30e2\u30fc\u30c9\u3068\u672c\u756a\u30e2\u30fc\u30c9\u3092\u5207\u308a\u66ff\u3048\u3089\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u8a2d\u5b9a\u3067\u3059\u3002\u958b\u767a\u6642\u306fTrue\u306b\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u30a8\u30e9\u30fc\u767a\u751f\u6642\u306b\u753b<\/p>\n","protected":false},"author":1,"featured_media":399,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jin_ogp_image_url":"","_jin_last_featured_id":0,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-django"],"_links":{"self":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts\/398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=398"}],"version-history":[{"count":9,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts\/398\/revisions"}],"predecessor-version":[{"id":1510,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts\/398\/revisions\/1510"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/media\/399"}],"wp:attachment":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}