1"""
2Default Django settings. Override these with settings in the module pointed to
3by the DJANGO_SETTINGS_MODULE environment variable.
4"""
5
6
7# This is defined here as a do-nothing function because we can't import
8# django.utils.translation -- that module depends on the settings.
9def gettext_noop(s):
10 return s
11
12
13####################
14# CORE #
15####################
16
17DEBUG = False
18
19# Whether the framework should propagate raw exceptions rather than catching
20# them. This is useful under some testing situations and should never be used
21# on a live site.
22DEBUG_PROPAGATE_EXCEPTIONS = False
23
24# People who get code error notifications. In the format
25# [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')]
26ADMINS = []
27
28# List of IP addresses, as strings, that:
29# * See debug comments, when DEBUG is true
30# * Receive x-headers
31INTERNAL_IPS = []
32
33# Hosts/domain names that are valid for this site.
34# "*" matches anything, ".example.com" matches example.com and all subdomains
35ALLOWED_HOSTS = []
36
37# Local time zone for this installation. All choices can be found here:
38# https://en.wikipedia.org/wiki/List_of_tz_zones_by_name (although not all
39# systems may support all possibilities). When USE_TZ is True, this is
40# interpreted as the default user time zone.
41TIME_ZONE = "America/Chicago"
42
43# If you set this to True, Django will use timezone-aware datetimes.
44USE_TZ = True
45
46# Language code for this installation. Valid choices can be found here:
47# https://www.iana.org/assignments/language-subtag-registry/
48# If LANGUAGE_CODE is not listed in LANGUAGES (below), the project must
49# provide the necessary translations and locale definitions.
50LANGUAGE_CODE = "en-us"
51
52# Languages we provide translations for, out of the box.
53LANGUAGES = [
54 ("af", gettext_noop("Afrikaans")),
55 ("ar", gettext_noop("Arabic")),
56 ("ar-dz", gettext_noop("Algerian Arabic")),
57 ("ast", gettext_noop("Asturian")),
58 ("az", gettext_noop("Azerbaijani")),
59 ("bg", gettext_noop("Bulgarian")),
60 ("be", gettext_noop("Belarusian")),
61 ("bn", gettext_noop("Bengali")),
62 ("br", gettext_noop("Breton")),
63 ("bs", gettext_noop("Bosnian")),
64 ("ca", gettext_noop("Catalan")),
65 ("ckb", gettext_noop("Central Kurdish (Sorani)")),
66 ("cs", gettext_noop("Czech")),
67 ("cy", gettext_noop("Welsh")),
68 ("da", gettext_noop("Danish")),
69 ("de", gettext_noop("German")),
70 ("dsb", gettext_noop("Lower Sorbian")),
71 ("el", gettext_noop("Greek")),
72 ("en", gettext_noop("English")),
73 ("en-au", gettext_noop("Australian English")),
74 ("en-gb", gettext_noop("British English")),
75 ("eo", gettext_noop("Esperanto")),
76 ("es", gettext_noop("Spanish")),
77 ("es-ar", gettext_noop("Argentinian Spanish")),
78 ("es-co", gettext_noop("Colombian Spanish")),
79 ("es-mx", gettext_noop("Mexican Spanish")),
80 ("es-ni", gettext_noop("Nicaraguan Spanish")),
81 ("es-ve", gettext_noop("Venezuelan Spanish")),
82 ("et", gettext_noop("Estonian")),
83 ("eu", gettext_noop("Basque")),
84 ("fa", gettext_noop("Persian")),
85 ("fi", gettext_noop("Finnish")),
86 ("fr", gettext_noop("French")),
87 ("fy", gettext_noop("Frisian")),
88 ("ga", gettext_noop("Irish")),
89 ("gd", gettext_noop("Scottish Gaelic")),
90 ("gl", gettext_noop("Galician")),
91 ("he", gettext_noop("Hebrew")),
92 ("hi", gettext_noop("Hindi")),
93 ("hr", gettext_noop("Croatian")),
94 ("hsb", gettext_noop("Upper Sorbian")),
95 ("hu", gettext_noop("Hungarian")),
96 ("hy", gettext_noop("Armenian")),
97 ("ia", gettext_noop("Interlingua")),
98 ("id", gettext_noop("Indonesian")),
99 ("ig", gettext_noop("Igbo")),
100 ("io", gettext_noop("Ido")),
101 ("is", gettext_noop("Icelandic")),
102 ("it", gettext_noop("Italian")),
103 ("ja", gettext_noop("Japanese")),
104 ("ka", gettext_noop("Georgian")),
105 ("kab", gettext_noop("Kabyle")),
106 ("kk", gettext_noop("Kazakh")),
107 ("km", gettext_noop("Khmer")),
108 ("kn", gettext_noop("Kannada")),
109 ("ko", gettext_noop("Korean")),
110 ("ky", gettext_noop("Kyrgyz")),
111 ("lb", gettext_noop("Luxembourgish")),
112 ("lt", gettext_noop("Lithuanian")),
113 ("lv", gettext_noop("Latvian")),
114 ("mk", gettext_noop("Macedonian")),
115 ("ml", gettext_noop("Malayalam")),
116 ("mn", gettext_noop("Mongolian")),
117 ("mr", gettext_noop("Marathi")),
118 ("ms", gettext_noop("Malay")),
119 ("my", gettext_noop("Burmese")),
120 ("nb", gettext_noop("Norwegian Bokmål")),
121 ("ne", gettext_noop("Nepali")),
122 ("nl", gettext_noop("Dutch")),
123 ("nn", gettext_noop("Norwegian Nynorsk")),
124 ("os", gettext_noop("Ossetic")),
125 ("pa", gettext_noop("Punjabi")),
126 ("pl", gettext_noop("Polish")),
127 ("pt", gettext_noop("Portuguese")),
128 ("pt-br", gettext_noop("Brazilian Portuguese")),
129 ("ro", gettext_noop("Romanian")),
130 ("ru", gettext_noop("Russian")),
131 ("sk", gettext_noop("Slovak")),
132 ("sl", gettext_noop("Slovenian")),
133 ("sq", gettext_noop("Albanian")),
134 ("sr", gettext_noop("Serbian")),
135 ("sr-latn", gettext_noop("Serbian Latin")),
136 ("sv", gettext_noop("Swedish")),
137 ("sw", gettext_noop("Swahili")),
138 ("ta", gettext_noop("Tamil")),
139 ("te", gettext_noop("Telugu")),
140 ("tg", gettext_noop("Tajik")),
141 ("th", gettext_noop("Thai")),
142 ("tk", gettext_noop("Turkmen")),
143 ("tr", gettext_noop("Turkish")),
144 ("tt", gettext_noop("Tatar")),
145 ("udm", gettext_noop("Udmurt")),
146 ("ug", gettext_noop("Uyghur")),
147 ("uk", gettext_noop("Ukrainian")),
148 ("ur", gettext_noop("Urdu")),
149 ("uz", gettext_noop("Uzbek")),
150 ("vi", gettext_noop("Vietnamese")),
151 ("zh-hans", gettext_noop("Simplified Chinese")),
152 ("zh-hant", gettext_noop("Traditional Chinese")),
153]
154
155# Languages using BiDi (right-to-left) layout
156LANGUAGES_BIDI = ["he", "ar", "ar-dz", "ckb", "fa", "ug", "ur"]
157
158# If you set this to False, Django will make some optimizations so as not
159# to load the internationalization machinery.
160USE_I18N = True
161LOCALE_PATHS = []
162
163# Settings for language cookie
164LANGUAGE_COOKIE_NAME = "django_language"
165LANGUAGE_COOKIE_AGE = None
166LANGUAGE_COOKIE_DOMAIN = None
167LANGUAGE_COOKIE_PATH = "/"
168LANGUAGE_COOKIE_SECURE = False
169LANGUAGE_COOKIE_HTTPONLY = False
170LANGUAGE_COOKIE_SAMESITE = None
171
172# Not-necessarily-technical managers of the site. They get broken link
173# notifications and other various emails.
174MANAGERS = ADMINS
175
176# Default charset to use for all HttpResponse objects, if a MIME type isn't
177# manually specified. It's used to construct the Content-Type header.
178DEFAULT_CHARSET = "utf-8"
179
180# Email address that error messages come from.
181SERVER_EMAIL = "root@localhost"
182
183# Database connection info. If left empty, will default to the dummy backend.
184DATABASES = {}
185
186# Classes used to implement DB routing behavior.
187DATABASE_ROUTERS = []
188
189# The email backend to use. For possible shortcuts see django.core.mail.
190# The default is to use the SMTP backend.
191# Third-party backends can be specified by providing a Python path
192# to a module that defines an EmailBackend class.
193EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
194
195# Host for sending email.
196EMAIL_HOST = "localhost"
197
198# Port for sending email.
199EMAIL_PORT = 25
200
201# Whether to send SMTP 'Date' header in the local time zone or in UTC.
202EMAIL_USE_LOCALTIME = False
203
204# Optional SMTP authentication information for EMAIL_HOST.
205EMAIL_HOST_USER = ""
206EMAIL_HOST_PASSWORD = ""
207EMAIL_USE_TLS = False
208EMAIL_USE_SSL = False
209EMAIL_SSL_CERTFILE = None
210EMAIL_SSL_KEYFILE = None
211EMAIL_TIMEOUT = None
212
213# List of strings representing installed apps.
214INSTALLED_APPS = []
215
216TEMPLATES = []
217
218# Default form rendering class.
219FORM_RENDERER = "django.forms.renderers.DjangoTemplates"
220
221# Default email address to use for various automated correspondence from
222# the site managers.
223DEFAULT_FROM_EMAIL = "webmaster@localhost"
224
225# Subject-line prefix for email messages send with django.core.mail.mail_admins
226# or ...mail_managers. Make sure to include the trailing space.
227EMAIL_SUBJECT_PREFIX = "[Django] "
228
229# Whether to append trailing slashes to URLs.
230APPEND_SLASH = True
231
232# Whether to prepend the "www." subdomain to URLs that don't have it.
233PREPEND_WWW = False
234
235# Override the server-derived value of SCRIPT_NAME
236FORCE_SCRIPT_NAME = None
237
238# List of compiled regular expression objects representing User-Agent strings
239# that are not allowed to visit any page, systemwide. Use this for bad
240# robots/crawlers. Here are a few examples:
241# import re
242# DISALLOWED_USER_AGENTS = [
243# re.compile(r'^NaverBot.*'),
244# re.compile(r'^EmailSiphon.*'),
245# re.compile(r'^SiteSucker.*'),
246# re.compile(r'^sohu-search'),
247# ]
248DISALLOWED_USER_AGENTS = []
249
250ABSOLUTE_URL_OVERRIDES = {}
251
252# List of compiled regular expression objects representing URLs that need not
253# be reported by BrokenLinkEmailsMiddleware. Here are a few examples:
254# import re
255# IGNORABLE_404_URLS = [
256# re.compile(r'^/apple-touch-icon.*\.png$'),
257# re.compile(r'^/favicon.ico$'),
258# re.compile(r'^/robots.txt$'),
259# re.compile(r'^/phpmyadmin/'),
260# re.compile(r'\.(cgi|php|pl)$'),
261# ]
262IGNORABLE_404_URLS = []
263
264# A secret key for this particular Django installation. Used in secret-key
265# hashing algorithms. Set this in your settings, or Django will complain
266# loudly.
267SECRET_KEY = ""
268
269# List of secret keys used to verify the validity of signatures. This allows
270# secret key rotation.
271SECRET_KEY_FALLBACKS = []
272
273STORAGES = {
274 "default": {
275 "BACKEND": "django.core.files.storage.FileSystemStorage",
276 },
277 "staticfiles": {
278 "BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage",
279 },
280}
281
282# Absolute filesystem path to the directory that will hold user-uploaded files.
283# Example: "/var/www/example.com/media/"
284MEDIA_ROOT = ""
285
286# URL that handles the media served from MEDIA_ROOT.
287# Examples: "http://example.com/media/", "http://media.example.com/"
288MEDIA_URL = ""
289
290# Absolute path to the directory static files should be collected to.
291# Example: "/var/www/example.com/static/"
292STATIC_ROOT = None
293
294# URL that handles the static files served from STATIC_ROOT.
295# Example: "http://example.com/static/", "http://static.example.com/"
296STATIC_URL = None
297
298# List of upload handler classes to be applied in order.
299FILE_UPLOAD_HANDLERS = [
300 "django.core.files.uploadhandler.MemoryFileUploadHandler",
301 "django.core.files.uploadhandler.TemporaryFileUploadHandler",
302]
303
304# Maximum size, in bytes, of a request before it will be streamed to the
305# file system instead of into memory.
306FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB
307
308# Maximum size in bytes of request data (excluding file uploads) that will be
309# read before a SuspiciousOperation (RequestDataTooBig) is raised.
310DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB
311
312# Maximum number of GET/POST parameters that will be read before a
313# SuspiciousOperation (TooManyFieldsSent) is raised.
314DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
315
316# Maximum number of files encoded in a multipart upload that will be read
317# before a SuspiciousOperation (TooManyFilesSent) is raised.
318DATA_UPLOAD_MAX_NUMBER_FILES = 100
319
320# Directory in which upload streamed files will be temporarily saved. A value of
321# `None` will make Django use the operating system's default temporary directory
322# (i.e. "/tmp" on *nix systems).
323FILE_UPLOAD_TEMP_DIR = None
324
325# The numeric mode to set newly-uploaded files to. The value should be a mode
326# you'd pass directly to os.chmod; see
327# https://docs.python.org/library/os.html#files-and-directories.
328FILE_UPLOAD_PERMISSIONS = 0o644
329
330# The numeric mode to assign to newly-created directories, when uploading files.
331# The value should be a mode as you'd pass to os.chmod;
332# see https://docs.python.org/library/os.html#files-and-directories.
333FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
334
335# Python module path where user will place custom format definition.
336# The directory where this setting is pointing should contain subdirectories
337# named as the locales, containing a formats.py file
338# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use)
339FORMAT_MODULE_PATH = None
340
341# Default formatting for date objects. See all available format strings here:
342# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
343DATE_FORMAT = "N j, Y"
344
345# Default formatting for datetime objects. See all available format strings here:
346# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
347DATETIME_FORMAT = "N j, Y, P"
348
349# Default formatting for time objects. See all available format strings here:
350# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
351TIME_FORMAT = "P"
352
353# Default formatting for date objects when only the year and month are relevant.
354# See all available format strings here:
355# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
356YEAR_MONTH_FORMAT = "F Y"
357
358# Default formatting for date objects when only the month and day are relevant.
359# See all available format strings here:
360# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
361MONTH_DAY_FORMAT = "F j"
362
363# Default short formatting for date objects. See all available format strings here:
364# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
365SHORT_DATE_FORMAT = "m/d/Y"
366
367# Default short formatting for datetime objects.
368# See all available format strings here:
369# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
370SHORT_DATETIME_FORMAT = "m/d/Y P"
371
372# Default formats to be used when parsing dates from input boxes, in order
373# See all available format string here:
374# https://docs.python.org/library/datetime.html#strftime-behavior
375# * Note that these format strings are different from the ones to display dates
376DATE_INPUT_FORMATS = [
377 "%Y-%m-%d", # '2006-10-25'
378 "%m/%d/%Y", # '10/25/2006'
379 "%m/%d/%y", # '10/25/06'
380 "%b %d %Y", # 'Oct 25 2006'
381 "%b %d, %Y", # 'Oct 25, 2006'
382 "%d %b %Y", # '25 Oct 2006'
383 "%d %b, %Y", # '25 Oct, 2006'
384 "%B %d %Y", # 'October 25 2006'
385 "%B %d, %Y", # 'October 25, 2006'
386 "%d %B %Y", # '25 October 2006'
387 "%d %B, %Y", # '25 October, 2006'
388]
389
390# Default formats to be used when parsing times from input boxes, in order
391# See all available format string here:
392# https://docs.python.org/library/datetime.html#strftime-behavior
393# * Note that these format strings are different from the ones to display dates
394TIME_INPUT_FORMATS = [
395 "%H:%M:%S", # '14:30:59'
396 "%H:%M:%S.%f", # '14:30:59.000200'
397 "%H:%M", # '14:30'
398]
399
400# Default formats to be used when parsing dates and times from input boxes,
401# in order
402# See all available format string here:
403# https://docs.python.org/library/datetime.html#strftime-behavior
404# * Note that these format strings are different from the ones to display dates
405DATETIME_INPUT_FORMATS = [
406 "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59'
407 "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200'
408 "%Y-%m-%d %H:%M", # '2006-10-25 14:30'
409 "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59'
410 "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200'
411 "%m/%d/%Y %H:%M", # '10/25/2006 14:30'
412 "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59'
413 "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200'
414 "%m/%d/%y %H:%M", # '10/25/06 14:30'
415]
416
417# First day of week, to be used on calendars
418# 0 means Sunday, 1 means Monday...
419FIRST_DAY_OF_WEEK = 0
420
421# Decimal separator symbol
422DECIMAL_SEPARATOR = "."
423
424# Boolean that sets whether to add thousand separator when formatting numbers
425USE_THOUSAND_SEPARATOR = False
426
427# Number of digits that will be together, when splitting them by
428# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands...
429NUMBER_GROUPING = 0
430
431# Thousand separator symbol
432THOUSAND_SEPARATOR = ","
433
434# The tablespaces to use for each model when not specified otherwise.
435DEFAULT_TABLESPACE = ""
436DEFAULT_INDEX_TABLESPACE = ""
437
438# Default primary key field type.
439DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
440
441# Default X-Frame-Options header value
442X_FRAME_OPTIONS = "DENY"
443
444USE_X_FORWARDED_HOST = False
445USE_X_FORWARDED_PORT = False
446
447# The Python dotted path to the WSGI application that Django's internal server
448# (runserver) will use. If `None`, the return value of
449# 'django.core.wsgi.get_wsgi_application' is used, thus preserving the same
450# behavior as previous versions of Django. Otherwise this should point to an
451# actual WSGI application object.
452WSGI_APPLICATION = None
453
454# If your Django app is behind a proxy that sets a header to specify secure
455# connections, AND that proxy ensures that user-submitted headers with the
456# same name are ignored (so that people can't spoof it), set this value to
457# a tuple of (header_name, header_value). For any requests that come in with
458# that header/value, request.is_secure() will return True.
459# WARNING! Only set this if you fully understand what you're doing. Otherwise,
460# you may be opening yourself up to a security risk.
461SECURE_PROXY_SSL_HEADER = None
462
463##############
464# MIDDLEWARE #
465##############
466
467# List of middleware to use. Order is important; in the request phase, these
468# middleware will be applied in the order given, and in the response
469# phase the middleware will be applied in reverse order.
470MIDDLEWARE = []
471
472############
473# SESSIONS #
474############
475
476# Cache to store session data if using the cache session backend.
477SESSION_CACHE_ALIAS = "default"
478# Cookie name. This can be whatever you want.
479SESSION_COOKIE_NAME = "sessionid"
480# Age of cookie, in seconds (default: 2 weeks).
481SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2
482# A string like "example.com", or None for standard domain cookie.
483SESSION_COOKIE_DOMAIN = None
484# Whether the session cookie should be secure (https:// only).
485SESSION_COOKIE_SECURE = False
486# The path of the session cookie.
487SESSION_COOKIE_PATH = "/"
488# Whether to use the HttpOnly flag.
489SESSION_COOKIE_HTTPONLY = True
490# Whether to set the flag restricting cookie leaks on cross-site requests.
491# This can be 'Lax', 'Strict', 'None', or False to disable the flag.
492SESSION_COOKIE_SAMESITE = "Lax"
493# Whether to save the session data on every request.
494SESSION_SAVE_EVERY_REQUEST = False
495# Whether a user's session cookie expires when the web browser is closed.
496SESSION_EXPIRE_AT_BROWSER_CLOSE = False
497# The module to store session data
498SESSION_ENGINE = "django.contrib.sessions.backends.db"
499# Directory to store session files if using the file session module. If None,
500# the backend will use a sensible default.
501SESSION_FILE_PATH = None
502# class to serialize session data
503SESSION_SERIALIZER = "django.contrib.sessions.serializers.JSONSerializer"
504
505#########
506# CACHE #
507#########
508
509# The cache backends to use.
510CACHES = {
511 "default": {
512 "BACKEND": "django.core.cache.backends.locmem.LocMemCache",
513 }
514}
515CACHE_MIDDLEWARE_KEY_PREFIX = ""
516CACHE_MIDDLEWARE_SECONDS = 600
517CACHE_MIDDLEWARE_ALIAS = "default"
518
519##################
520# AUTHENTICATION #
521##################
522
523AUTH_USER_MODEL = "auth.User"
524
525AUTHENTICATION_BACKENDS = ["django.contrib.auth.backends.ModelBackend"]
526
527LOGIN_URL = "/accounts/login/"
528
529LOGIN_REDIRECT_URL = "/accounts/profile/"
530
531LOGOUT_REDIRECT_URL = None
532
533# The number of seconds a password reset link is valid for (default: 3 days).
534PASSWORD_RESET_TIMEOUT = 60 * 60 * 24 * 3
535
536# the first hasher in this list is the preferred algorithm. any
537# password using different algorithms will be converted automatically
538# upon login
539PASSWORD_HASHERS = [
540 "django.contrib.auth.hashers.PBKDF2PasswordHasher",
541 "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher",
542 "django.contrib.auth.hashers.Argon2PasswordHasher",
543 "django.contrib.auth.hashers.BCryptSHA256PasswordHasher",
544 "django.contrib.auth.hashers.ScryptPasswordHasher",
545]
546
547AUTH_PASSWORD_VALIDATORS = []
548
549###########
550# SIGNING #
551###########
552
553SIGNING_BACKEND = "django.core.signing.TimestampSigner"
554
555########
556# CSRF #
557########
558
559# Dotted path to callable to be used as view when a request is
560# rejected by the CSRF middleware.
561CSRF_FAILURE_VIEW = "django.views.csrf.csrf_failure"
562
563# Settings for CSRF cookie.
564CSRF_COOKIE_NAME = "csrftoken"
565CSRF_COOKIE_AGE = 60 * 60 * 24 * 7 * 52
566CSRF_COOKIE_DOMAIN = None
567CSRF_COOKIE_PATH = "/"
568CSRF_COOKIE_SECURE = False
569CSRF_COOKIE_HTTPONLY = False
570CSRF_COOKIE_SAMESITE = "Lax"
571CSRF_HEADER_NAME = "HTTP_X_CSRFTOKEN"
572CSRF_TRUSTED_ORIGINS = []
573CSRF_USE_SESSIONS = False
574
575############
576# MESSAGES #
577############
578
579# Class to use as messages backend
580MESSAGE_STORAGE = "django.contrib.messages.storage.fallback.FallbackStorage"
581
582# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within
583# django.contrib.messages to avoid imports in this settings file.
584
585###########
586# LOGGING #
587###########
588
589# The callable to use to configure logging
590LOGGING_CONFIG = "logging.config.dictConfig"
591
592# Custom logging configuration.
593LOGGING = {}
594
595# Default exception reporter class used in case none has been
596# specifically assigned to the HttpRequest instance.
597DEFAULT_EXCEPTION_REPORTER = "django.views.debug.ExceptionReporter"
598
599# Default exception reporter filter class used in case none has been
600# specifically assigned to the HttpRequest instance.
601DEFAULT_EXCEPTION_REPORTER_FILTER = "django.views.debug.SafeExceptionReporterFilter"
602
603###########
604# TESTING #
605###########
606
607# The name of the class to use to run the test suite
608TEST_RUNNER = "django.test.runner.DiscoverRunner"
609
610# Apps that don't need to be serialized at test database creation time
611# (only apps with migrations are to start with)
612TEST_NON_SERIALIZED_APPS = []
613
614############
615# FIXTURES #
616############
617
618# The list of directories to search for fixtures
619FIXTURE_DIRS = []
620
621###############
622# STATICFILES #
623###############
624
625# A list of locations of additional static files
626STATICFILES_DIRS = []
627
628# List of finder classes that know how to find static files in
629# various locations.
630STATICFILES_FINDERS = [
631 "django.contrib.staticfiles.finders.FileSystemFinder",
632 "django.contrib.staticfiles.finders.AppDirectoriesFinder",
633 # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
634]
635
636##############
637# MIGRATIONS #
638##############
639
640# Migration module overrides for apps, by app label.
641MIGRATION_MODULES = {}
642
643#################
644# SYSTEM CHECKS #
645#################
646
647# List of all issues generated by system checks that should be silenced. Light
648# issues like warnings, infos or debugs will not generate a message. Silencing
649# serious issues like errors and criticals does not result in hiding the
650# message, but Django will not stop you from e.g. running server.
651SILENCED_SYSTEM_CHECKS = []
652
653#######################
654# SECURITY MIDDLEWARE #
655#######################
656SECURE_CONTENT_TYPE_NOSNIFF = True
657SECURE_CROSS_ORIGIN_OPENER_POLICY = "same-origin"
658SECURE_HSTS_INCLUDE_SUBDOMAINS = False
659SECURE_HSTS_PRELOAD = False
660SECURE_HSTS_SECONDS = 0
661SECURE_REDIRECT_EXEMPT = []
662SECURE_REFERRER_POLICY = "same-origin"
663SECURE_SSL_HOST = None
664SECURE_SSL_REDIRECT = False