Coverage for charity\settings.py: 97%

37 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-06-20 12:38 +0100

1import os 

2import sys 

3from pathlib import Path 

4 

5import dj_database_url 

6 

7if os.path.isfile('env.py'): 

8 import env 

9 

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' 

18 

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"] 

24 

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' 

31 

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') 

37 

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] 

54 

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] 

66 

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] 

82 

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 } 

94 

95if 'test' in sys.argv: 

96 DATABASES['default']['ENGINE'] = 'django.db.backends.sqlite3' 

97 

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] 

118 

119STRIPE_CURRENCY = 'usd' 

120STRIPE_PK = os.getenv('STRIPE_PK') 

121STRIPE_SK = os.getenv('STRIPE_SK')