|
18 | 18 | # Build paths inside the project like this: os.path.join(BASE_DIR, ...) |
19 | 19 | BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
20 | 20 |
|
21 | | -dotenv.read_dotenv(os.path.join(BASE_DIR, '.env')) |
| 21 | +dotenv.read_dotenv(os.path.join(BASE_DIR, ".env")) |
22 | 22 |
|
23 | 23 | # Quick-start development settings - unsuitable for production |
24 | 24 | # See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ |
25 | 25 |
|
26 | 26 | # SECURITY WARNING: keep the secret key used in production secret! |
27 | | -SECRET_KEY = os.environ['DS_SECRET_KEY'] |
| 27 | +SECRET_KEY = os.environ["DS_SECRET_KEY"] |
28 | 28 |
|
29 | 29 | # SECURITY WARNING: don't run with debug turned on in production! |
30 | 30 | DEBUG = False |
31 | 31 |
|
32 | 32 | # This enabled the django admin console |
33 | 33 | ADMIN = False |
34 | 34 |
|
35 | | -ALLOWED_HOSTS = ['daylio-stats.herokuapp.com', 'localhost', '127.0.0.1'] |
36 | | - |
| 35 | +ALLOWED_HOSTS = ["daylio-stats.herokuapp.com", "localhost", "127.0.0.1"] |
| 36 | +# INTERNAL_IPS = ['127.0.0.1'] |
37 | 37 |
|
38 | 38 | # Application definition |
39 | 39 |
|
40 | 40 | INSTALLED_APPS = [ |
41 | | - 'django.contrib.admin', |
42 | | - 'django.contrib.auth', |
43 | | - 'django.contrib.contenttypes', |
44 | | - 'django.contrib.sessions', |
45 | | - 'django.contrib.messages', |
46 | | - 'django.contrib.staticfiles', |
47 | | - 'django_extensions', |
48 | | - 'ds', |
| 41 | + "django.contrib.admin", |
| 42 | + "django.contrib.auth", |
| 43 | + "django.contrib.contenttypes", |
| 44 | + "django.contrib.sessions", |
| 45 | + "django.contrib.messages", |
| 46 | + "django.contrib.staticfiles", |
| 47 | + "django_extensions", |
| 48 | + "debug_toolbar", |
| 49 | + "ds", |
49 | 50 | ] |
50 | 51 |
|
51 | 52 | MIDDLEWARE = [ |
52 | | - 'django.middleware.security.SecurityMiddleware', |
53 | | - 'whitenoise.middleware.WhiteNoiseMiddleware', |
54 | | - 'django.contrib.sessions.middleware.SessionMiddleware', |
55 | | - 'django.middleware.common.CommonMiddleware', |
56 | | - 'django.middleware.csrf.CsrfViewMiddleware', |
57 | | - 'django.contrib.auth.middleware.AuthenticationMiddleware', |
58 | | - 'django.contrib.messages.middleware.MessageMiddleware', |
59 | | - 'django.middleware.clickjacking.XFrameOptionsMiddleware', |
| 53 | + "django.middleware.security.SecurityMiddleware", |
| 54 | + "whitenoise.middleware.WhiteNoiseMiddleware", |
| 55 | + "django.contrib.sessions.middleware.SessionMiddleware", |
| 56 | + "django.middleware.common.CommonMiddleware", |
| 57 | + "django.middleware.csrf.CsrfViewMiddleware", |
| 58 | + "django.contrib.auth.middleware.AuthenticationMiddleware", |
| 59 | + "django.contrib.messages.middleware.MessageMiddleware", |
| 60 | + "django.middleware.clickjacking.XFrameOptionsMiddleware", |
| 61 | + "debug_toolbar.middleware.DebugToolbarMiddleware", |
60 | 62 | ] |
61 | 63 |
|
62 | | -ROOT_URLCONF = 'dayliostats.urls' |
| 64 | +ROOT_URLCONF = "dayliostats.urls" |
63 | 65 |
|
64 | 66 | TEMPLATES = [ |
65 | 67 | { |
66 | | - 'BACKEND': 'django.template.backends.django.DjangoTemplates', |
67 | | - 'DIRS': [], |
68 | | - 'APP_DIRS': True, |
69 | | - 'OPTIONS': { |
70 | | - 'context_processors': [ |
71 | | - 'django.template.context_processors.debug', |
72 | | - 'django.template.context_processors.request', |
73 | | - 'django.contrib.auth.context_processors.auth', |
74 | | - 'django.contrib.messages.context_processors.messages', |
75 | | - 'ds.context_processors.global_vars', |
| 68 | + "BACKEND": "django.template.backends.django.DjangoTemplates", |
| 69 | + "DIRS": [], |
| 70 | + "APP_DIRS": True, |
| 71 | + "OPTIONS": { |
| 72 | + "context_processors": [ |
| 73 | + "django.template.context_processors.debug", |
| 74 | + "django.template.context_processors.request", |
| 75 | + "django.contrib.auth.context_processors.auth", |
| 76 | + "django.contrib.messages.context_processors.messages", |
| 77 | + "ds.context_processors.global_vars", |
76 | 78 | ], |
77 | 79 | }, |
78 | 80 | }, |
79 | 81 | ] |
80 | 82 |
|
81 | | -WSGI_APPLICATION = 'dayliostats.wsgi.application' |
| 83 | +WSGI_APPLICATION = "dayliostats.wsgi.application" |
82 | 84 |
|
83 | 85 |
|
84 | 86 | # Database |
85 | 87 | # https://docs.djangoproject.com/en/3.0/ref/settings/#databases |
86 | 88 |
|
87 | 89 | DATABASES = { |
88 | | - 'default': { |
89 | | - 'ENGINE': 'django.db.backends.mysql', |
90 | | - 'NAME': os.getenv('DS_DB_NAME', 'dayliostats'), |
91 | | - 'USER': os.getenv('DS_DB_USER', 'dayliostats'), |
92 | | - 'PASSWORD': os.getenv('DS_DB_PASSWORD', 'dayliostats'), |
93 | | - 'HOST': os.getenv('DS_DB_HOST', 'localhost'), |
94 | | - 'PORT': 3306, |
| 90 | + "default": { |
| 91 | + "ENGINE": "django.db.backends.mysql", |
| 92 | + "NAME": os.getenv("DS_DB_NAME", "dayliostats"), |
| 93 | + "USER": os.getenv("DS_DB_USER", "dayliostats"), |
| 94 | + "PASSWORD": os.getenv("DS_DB_PASSWORD", "dayliostats"), |
| 95 | + "HOST": os.getenv("DS_DB_HOST", "localhost"), |
| 96 | + "PORT": 3306, |
| 97 | + "OPTIONS": { |
| 98 | + "charset": "utf8mb4", |
| 99 | + }, |
95 | 100 | } |
96 | 101 | } |
97 | 102 |
|
98 | | -if len(sys.argv) > 1 and sys.argv[1] == 'test': |
99 | | - DATABASES['default']['ENGINE'] = 'django.db.backends.sqlite3' |
100 | | - DATABASES['default']['NAME'] = ':memory:' |
| 103 | +if len(sys.argv) > 1 and sys.argv[1] == "test": |
| 104 | + print("?") |
| 105 | + DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}} |
101 | 106 |
|
102 | | -DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' |
| 107 | +DEFAULT_AUTO_FIELD = "django.db.models.AutoField" |
103 | 108 |
|
104 | 109 | # Password validation |
105 | 110 | # https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators |
106 | 111 |
|
107 | 112 | AUTH_PASSWORD_VALIDATORS = [ |
108 | 113 | { |
109 | | - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', |
| 114 | + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", |
110 | 115 | }, |
111 | 116 | { |
112 | | - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', |
| 117 | + "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", |
113 | 118 | }, |
114 | 119 | { |
115 | | - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', |
| 120 | + "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", |
116 | 121 | }, |
117 | 122 | { |
118 | | - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', |
| 123 | + "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", |
119 | 124 | }, |
120 | 125 | ] |
121 | 126 |
|
122 | 127 |
|
123 | 128 | # Internationalization |
124 | 129 | # https://docs.djangoproject.com/en/3.0/topics/i18n/ |
125 | 130 |
|
126 | | -LANGUAGE_CODE = 'en-us' |
| 131 | +LANGUAGE_CODE = "en-us" |
127 | 132 |
|
128 | | -TIME_ZONE = 'UTC' |
| 133 | +TIME_ZONE = "UTC" |
129 | 134 |
|
130 | 135 | USE_I18N = True |
131 | 136 |
|
132 | 137 | USE_L10N = True |
133 | 138 |
|
134 | 139 | USE_TZ = True |
135 | 140 |
|
136 | | -SECURE_REFERRER_POLICY = 'same-origin' |
| 141 | +SECURE_REFERRER_POLICY = "same-origin" |
137 | 142 |
|
138 | 143 | # Static files (CSS, JavaScript, Images) |
139 | 144 | # https://docs.djangoproject.com/en/3.0/howto/static-files/ |
140 | | -STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') |
141 | | -STATIC_URL = '/static/' |
| 145 | +STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles") |
| 146 | +STATIC_URL = "/static/" |
142 | 147 |
|
143 | | -STATICFILES_DIRS = ( |
144 | | - os.path.join(BASE_DIR, 'ds', 'static'), |
145 | | -) |
| 148 | +STATICFILES_DIRS = (os.path.join(BASE_DIR, "ds", "static"),) |
146 | 149 |
|
147 | 150 | TEST_RUNNER = "green.djangorunner.DjangoRunner" |
0 commit comments