diff --git a/api/seismic_site/settings.py b/api/seismic_site/settings.py index 144d6dda..40634ac6 100644 --- a/api/seismic_site/settings.py +++ b/api/seismic_site/settings.py @@ -10,7 +10,6 @@ import os -import dj_database_url from configurations import Configuration, values # Build paths inside the project like this: os.path.join(BASE_DIR, ...) @@ -18,11 +17,18 @@ class Base(Configuration): + """ + For more info about the `django-configurations` library, see + https://django-configurations.readthedocs.io/en/latest/ + """ + DEBUG = False SECRET_KEY = values.Value() ALLOWED_HOSTS = [] + SITE_URL = values.Value() + SITE_ID = 1 INSTALLED_APPS = [ # django apps @@ -32,6 +38,9 @@ class Base(Configuration): "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "django.contrib.sites", + "django.contrib.sitemaps", + "django.contrib.humanize", # third-party apps "rest_framework", "storages", @@ -77,7 +86,7 @@ class Base(Configuration): # Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases - DATABASES = {"default": dj_database_url.config(conn_max_age=600)} + DATABASES = values.DatabaseURLValue() # Password validation # https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators @@ -135,15 +144,26 @@ class Base(Configuration): class Dev(Base): DEBUG = True SECRET_KEY = "secret" + SITE_URL = "http://localhost:8000" EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" class Test(Base): DEBUG = True SECRET_KEY = "secret" - EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" + SITE_URL = "http://localhost" + EMAIL_BACKEND = "django.core.mail.backends.dummy.EmailBackend" class Prod(Base): DEBUG = False ALLOWED_HOSTS = values.ListValue(default=[".code4.ro"]) + + EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" + EMAIL_USE_TLS = True + EMAIL_HOST = values.Value(default="smtp.gmail.com") + EMAIL_PORT = 587 + EMAIL_HOST_USER = values.Value() + EMAIL_HOST_PASSWORD = values.Value() + + DEFAULT_FROM_EMAIL = values.EmailValue(default="noreply@code4.ro") diff --git a/api/seismic_site/urls.py b/api/seismic_site/urls.py index ff63e284..feeeb169 100644 --- a/api/seismic_site/urls.py +++ b/api/seismic_site/urls.py @@ -1,6 +1,7 @@ from django.conf import settings from django.conf.urls.static import static from django.contrib import admin +from django.contrib.auth import views as auth_views from django.urls import path, include from rest_framework import routers @@ -9,6 +10,10 @@ from pages.views import PagesViewSet from blog.views import PostViewSet +admin.site.site_title = "Seismic Risk Admin" +admin.site.site_header = "Seismic Risk Admin" +admin.site.index_title = "Seismic Risk Admin" +admin.site.site_url = settings.SITE_URL router = routers.DefaultRouter() router.register(r"buildings", BuildingViewSet, basename="buildings") @@ -17,6 +22,26 @@ urlpatterns = [ + path( + "admin/password_reset/", + auth_views.PasswordResetView.as_view(), + name="admin_password_reset", + ), + path( + "admin/password_reset/done/", + auth_views.PasswordResetDoneView.as_view(), + name="password_reset_done", + ), + path( + "admin/reset///", + auth_views.PasswordResetConfirmView.as_view(), + name="password_reset_confirm", + ), + path( + "admin/reset/done/", + auth_views.PasswordResetCompleteView.as_view(), + name="password_reset_complete", + ), path("admin/", admin.site.urls), path("ckeditor/", include("ckeditor_uploader.urls")), path("api/v1/", include(router.urls)), diff --git a/prod.env.dist b/prod.env.dist index 20f75dd7..e0ef4062 100644 --- a/prod.env.dist +++ b/prod.env.dist @@ -1,5 +1,10 @@ DJANGO_CONFIGURATION=Prod DJANGO_SECRET_KEY= +DJANGO_SITE_URL= +DJANGO_EMAIL_HOST= +DJANGO_EMAIL_HOST_USER= +DJANGO_EMAIL_HOST_PASSWORD= +DJANGO_DEFAULT_FROM_EMAIL= DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME GUNICORN_PORT=5000 GUNICORN_WORKERS=2