"""Django local development settings.""" import os from . import bds_prod from .cof_prod import * # NOQA from .cof_prod import BASE_DIR, INSTALLED_APPS, MIDDLEWARE, TESTING # --- # Merge COF and BDS configs # --- for app in bds_prod.INSTALLED_APPS: if app not in INSTALLED_APPS: INSTALLED_APPS.append(app) # --- # Tweaks for debug/local development # --- ALLOWED_HOSTS = [] DEBUG = True EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" if TESTING: PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] STATIC_URL = "/static/" MEDIA_URL = "/media/" MEDIA_ROOT = os.path.join(BASE_DIR, "media") DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": os.path.join(BASE_DIR, "db.sqlite3"), } } # Use the default cache backend for local development CACHES = {"default": {"BACKEND": "django.core.cache.backends.locmem.LocMemCache"}} # Use the default in memory asgi backend for local development CHANNEL_LAYERS = { "default": { "BACKEND": "asgiref.inmemory.ChannelLayer", "ROUTING": "cof.routing.routing", } } # --- # Debug tool bar # --- def show_toolbar(request): """ On ne veut pas la vérification de INTERNAL_IPS faite par la debug-toolbar car cela interfère avec l'utilisation de Vagrant. En effet, l'adresse de la machine physique n'est pas forcément connue, et peut difficilement être mise dans les INTERNAL_IPS. """ env_no_ddt = bool(os.environ.get("DJANGO_NO_DDT", None)) return DEBUG and not env_no_ddt and not request.path.startswith("/admin/") if not TESTING: INSTALLED_APPS += ["debug_toolbar"] MIDDLEWARE = ["debug_toolbar.middleware.DebugToolbarMiddleware"] + MIDDLEWARE DEBUG_TOOLBAR_CONFIG = {"SHOW_TOOLBAR_CALLBACK": show_toolbar}