Coverage for charity\settings.py: 97%
37 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-06-20 12:38 +0100
« prev ^ index » next coverage.py v7.4.4, created at 2024-06-20 12:38 +0100
1import os
2import sys
3from pathlib import Path
5import dj_database_url
7if os.path.isfile('env.py'):
8 import env
10DEBUG = 'DEVELOPMENT' in os.environ
11LOGIN_REDIRECT_URL = 'donations'
12ROOT_URLCONF = 'charity.urls'
13WSGI_APPLICATION = 'charity.wsgi.application'
14SITE_ID = 1
15ACCOUNT_EMAIL_VERIFICATION = 'none'
16SECRET_KEY = os.environ.get('SECRET_KEY')
17DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
19# Build paths inside the project like this: BASE_DIR / 'subdir'.
20BASE_DIR = Path(__file__).resolve().parent.parent
21TEMPLATES_DIR = os.path.join(BASE_DIR, 'templates')
22CSRF_TRUSTED_ORIGINS = ["https://*.herokuapp.com"]
23ALLOWED_HOSTS = [".herokuapp.com", "127.0.0.1", "localhost"]
25# Internationalization
26# https://docs.djangoproject.com/en/4.2/topics/i18n/
27USE_TZ = True
28USE_I18N = True
29TIME_ZONE = 'UTC'
30LANGUAGE_CODE = 'en-us'
32# Static files (CSS, JavaScript, Images)
33# https://docs.djangoproject.com/en/4.2/howto/static-files/
34STATIC_URL = 'static/'
35STATICFILES_DIRS = [os.path.join(BASE_DIR, STATIC_URL), ]
36STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
38# Application definition
39INSTALLED_APPS = [
40 'django.contrib.admin',
41 'django.contrib.auth',
42 'django.contrib.contenttypes',
43 'django.contrib.sessions',
44 'django.contrib.messages',
45 'django.contrib.staticfiles',
46 'django.contrib.sites',
47 'django.contrib.humanize',
48 'allauth',
49 'allauth.account',
50 'allauth.socialaccount',
51 'donation.apps.DonationConfig',
52 'donate.apps.DonateConfig',
53]
55MIDDLEWARE = [
56 'django.middleware.security.SecurityMiddleware',
57 'whitenoise.middleware.WhiteNoiseMiddleware',
58 'django.contrib.sessions.middleware.SessionMiddleware',
59 'django.middleware.common.CommonMiddleware',
60 'django.middleware.csrf.CsrfViewMiddleware',
61 'django.contrib.auth.middleware.AuthenticationMiddleware',
62 'django.contrib.messages.middleware.MessageMiddleware',
63 'django.middleware.clickjacking.XFrameOptionsMiddleware',
64 'allauth.account.middleware.AccountMiddleware',
65]
67TEMPLATES = [
68 {
69 'BACKEND': 'django.template.backends.django.DjangoTemplates',
70 'DIRS': [TEMPLATES_DIR],
71 'APP_DIRS': True,
72 'OPTIONS': {
73 'context_processors': [
74 'django.template.context_processors.debug',
75 'django.template.context_processors.request',
76 'django.contrib.auth.context_processors.auth',
77 'django.contrib.messages.context_processors.messages',
78 ],
79 },
80 },
81]
83if 'DATABASE_URL' in os.environ:
84 DATABASES = {
85 'default': dj_database_url.parse(os.environ.get('DATABASE_URL'))
86 }
87else:
88 DATABASES = {
89 'default': {
90 'ENGINE': 'django.db.backends.sqlite3',
91 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
92 }
93 }
95if 'test' in sys.argv:
96 DATABASES['default']['ENGINE'] = 'django.db.backends.sqlite3'
98# Password validation
99# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
100AUTH_PASSWORD_VALIDATORS = [
101 {
102 'NAME': 'django.contrib.auth.password_validation'
103 '.UserAttributeSimilarityValidator',
104 },
105 {
106 'NAME': 'django.contrib.auth.password_validation'
107 '.MinimumLengthValidator',
108 },
109 {
110 'NAME': 'django.contrib.auth.password_validation'
111 '.CommonPasswordValidator',
112 },
113 {
114 'NAME': 'django.contrib.auth.password_validation'
115 '.NumericPasswordValidator',
116 },
117]
119STRIPE_CURRENCY = 'usd'
120STRIPE_PK = os.getenv('STRIPE_PK')
121STRIPE_SK = os.getenv('STRIPE_SK')