· 5 years ago · Jul 26, 2020, 04:46 PM
1"""
2Django settings for ecommerce project.
3
4Generated by 'django-admin startproject' using Django 1.11.22.
5
6For more information on this file, seepython run
7https://docs.djangoproject.com/en/1.11/topics/settings/
8
9For the full list of settings and their values, see
10https://docs.djangoproject.com/en/1.11/ref/settings/
11"""
12
13import os
14
15# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
16BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
17
18# Quick-start development settings - unsuitable for production
19# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
20
21# SECURITY WARNING: keep the secret key used in production secret!
22SECRET_KEY = '6)&0sjkb@r70qh1+8wx&-d964^ct63%h6yli!srenfnw)!$w*u'
23
24
25EMAIL_HOST = 'smtp.gmail.com'
26EMAIL_HOST_USER = 'sebasaade@gmail.com'
27EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', 'Patagonian230379')
28EMAIL_PORT = 587
29EMAIL_USE_TLS = True
30DEFAULT_FROM_EMAIL = 'Python eCommerce <sebasaade@gmail.com>'
31BASE_URL= '127.0.0.1:8000'
32
33
34MANAGERS = (
35 ('Sebastian Saade', "sebasaade@gmail.com"),
36)
37
38ADMINS = MANAGERS
39
40
41# SECURITY WARNING: don't run with debug turned on in production!
42DEBUG = True
43
44ALLOWED_HOSTS = ['0.0.0.0', '127.0.0.1']
45
46
47# Application definition
48
49INSTALLED_APPS = [
50 'django.contrib.admin',
51 'django.contrib.auth',
52 'django.contrib.contenttypes',
53 'django.contrib.sessions',
54 'django.contrib.messages',
55 'django.contrib.staticfiles',
56
57 #third party
58 'storages',
59
60 #our apps
61 'accounts',
62 'addresses',
63 'analytics',
64 'billing',
65 'carts',
66 'marketing',
67 'orders',
68 'products',
69 'search',
70 'tags',
71]
72
73AUTH_USER_MODEL = 'accounts.User' #change the built-in user model to ours
74LOGIN_URL = '/login/'
75LOGIN_URL_REDIRECT = '/'
76LOGOUT_URL = '/logout/'
77
78FORCE_SESSION_TO_ONE = False
79FORCE_INACTIVE_USER_ENDSESSION= False
80
81STRIPE_SECRET_KEY = os.environ.get("STRIPE_SECRET_KEY", "sk_test_wTb9XJsp9liBWK9IkvZgWbSH002h6jK919")
82STRIPE_PUB_KEY = os.environ.get("STRIPE_PUB_KEY", 'pk_test_yyXzNMv21Q2zBhLkFIATOO8y00Ed3O8Man')
83
84MAILCHIMP_API_KEY = "28ba5731efb222e60e95d70f63bb31a3-us4"
85MAILCHIMP_DATA_CENTER = 'us4'
86MAILCHIMP_EMAIL_LIST_ID ='c07c9d8c57'
87
88MIDDLEWARE = [
89 'django.middleware.security.SecurityMiddleware',
90 'django.contrib.sessions.middleware.SessionMiddleware',
91 'django.middleware.common.CommonMiddleware',
92 'django.middleware.csrf.CsrfViewMiddleware',
93 'django.contrib.auth.middleware.AuthenticationMiddleware',
94 'django.contrib.messages.middleware.MessageMiddleware',
95 'django.middleware.clickjacking.XFrameOptionsMiddleware',
96]
97
98LOGOUT_REDIRECT_URL = '/login/'
99ROOT_URLCONF = 'ecommerce.urls'
100
101TEMPLATES = [
102 {
103 'BACKEND': 'django.template.backends.django.DjangoTemplates',
104 'DIRS': [os.path.join(BASE_DIR, 'templates')],
105 'APP_DIRS': True,
106 'OPTIONS': {
107 'context_processors': [
108 'django.template.context_processors.debug',
109 'django.template.context_processors.request',
110 'django.contrib.auth.context_processors.auth',
111 'django.contrib.messages.context_processors.messages',
112 ],
113 },
114 },
115]
116
117WSGI_APPLICATION = 'ecommerce.wsgi.application'
118
119
120# Database
121# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
122
123DATABASES = {
124 'default': {
125 'ENGINE': 'django.db.backends.sqlite3',
126 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
127 }
128}
129
130
131# Password validation
132# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
133
134AUTH_PASSWORD_VALIDATORS = [
135 {
136 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
137 },
138 {
139 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
140 },
141 {
142 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
143 },
144 {
145 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
146 },
147]
148
149
150# Internationalization
151# https://docs.djangoproject.com/en/1.11/topics/i18n/
152
153LANGUAGE_CODE = 'en-us'
154
155TIME_ZONE = 'UTC'
156
157USE_I18N = True
158
159USE_L10N = True
160
161USE_TZ = True
162
163
164# Static files (CSS, JavaScript, Images)
165# https://docs.djangoproject.com/en/1.11/howto/static-files/
166
167STATIC_URL = '/static/'
168
169STATICFILES_DIRS = [
170 os.path.join(BASE_DIR, "static_my_proj"),
171]
172
173STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "static_root")
174
175MEDIA_URL = '/media/'
176MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "media_root")
177
178PROTECTED_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "protected_media")
179
180if not DEBUG:
181 AWS_ACCESS_KEY_ID = os.environ.get("AWS_ACCESS_KEY_ID", "AKIA2WGRCIKD26EAY44T")
182 AWS_SECRET_ACCESS_KEY = os.environ.get("AWS_SECRET_ACCESS_KEY", "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")
183
184 AWS_GROUP_NAME = "sebasaade_ecommerce_Group"
185 AWS_USERNAME = "sebasaade23"
186
187 AWS_FILE_EXPIRE = 200
188 AWS_PRELOAD_METADATA = True
189 AWS_QUERYSTRING_AUTH = False
190
191 DEFAULT_FILE_STORAGE = 'ecommerce.aws.utils.MediaRootS3BotoStorage'
192 STATICFILES_STORAGE = 'ecommerce.aws.utils.StaticRootS3BotoStorage'
193 AWS_STORAGE_BUCKET_NAME = 'sebasaade-ecomerce'
194 S3DIRECT_REGION = 'sa-east-1'
195 S3_URL = '//%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
196 MEDIA_URL = '//%s.s3.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME
197 MEDIA_ROOT = MEDIA_URL
198 STATIC_URL = S3_URL + 'static/'
199 ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
200
201CORS_REPLACE_HTTPS_REFERER = False
202HOST_SCHEME = "http://"
203SECURE_PROXY_SSL_HEADER = None
204SECURE_SSL_REDIRECT = False
205SESSION_COOKIE_SECURE = False
206CSRF_COOKIE_SECURE = False
207SECURE_HSTS_SECONDS = None
208SECURE_HSTS_INCLUDE_SUBDOMAINS = False
209SECURE_FRAME_DENY = False