djbase

A base template to bootstrap common Django projects.
git clone https://s.sonu.ch/~srfsh/nelci.git
Log | Files | Refs | README | LICENSE

common.py (2297B)


      1 from pathlib import Path
      2 
      3 
      4 BASE_DIR = Path(__file__).resolve().parent.parent.parent
      5 
      6 # must be after BASE_DIR (to prevent circular import)
      7 try:
      8 	from .prod import *
      9 except ImportError:
     10 	from .dev import *
     11 
     12 
     13 # apps
     14 INSTALLED_APPS = [
     15 	"django.contrib.admin",
     16 	"django.contrib.auth",
     17 	"django.contrib.contenttypes",
     18 	"django.contrib.sessions",
     19 	"django.contrib.messages",
     20 	"django.contrib.staticfiles",
     21 
     22 	"base",
     23 	"page",
     24 ]
     25 
     26 if DEBUG:
     27 	INSTALLED_APPS.append("debug_toolbar")
     28 
     29 
     30 # middleware
     31 MIDDLEWARE = [
     32 	"django.middleware.security.SecurityMiddleware",
     33 	"django.contrib.sessions.middleware.SessionMiddleware",
     34 	"django.middleware.common.CommonMiddleware",
     35 	"django.middleware.csrf.CsrfViewMiddleware",
     36 	"django.contrib.auth.middleware.AuthenticationMiddleware",
     37 	"django.contrib.messages.middleware.MessageMiddleware",
     38 	"django.middleware.clickjacking.XFrameOptionsMiddleware",
     39 ]
     40 
     41 if DEBUG:
     42 	MIDDLEWARE.append("debug_toolbar.middleware.DebugToolbarMiddleware")
     43 
     44 
     45 # wsgi app object
     46 WSGI_APPLICATION = "base.wsgi.application"
     47 
     48 
     49 # routing and templating
     50 ROOT_URLCONF = "base.urls"
     51 
     52 TEMPLATES = [
     53 	{
     54 		"BACKEND": "django.template.backends.django.DjangoTemplates",
     55 		"DIRS": [BASE_DIR / "templ"],
     56 		"APP_DIRS": True,
     57 		"OPTIONS": {
     58 			"context_processors": [
     59 				"django.template.context_processors.debug",
     60 				"django.template.context_processors.request",
     61 				"django.contrib.auth.context_processors.auth",
     62 				"django.contrib.messages.context_processors.messages",
     63 			],
     64 			"builtins": ["django.templatetags.static"],
     65 		},
     66 	},
     67 ]
     68 
     69 
     70 # passwd validation
     71 AUTH_PASSWORD_VALIDATORS = [
     72 	{
     73 		"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
     74 	},
     75 	{
     76 		"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
     77 	},
     78 	{
     79 		"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
     80 	},
     81 	{
     82 		"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
     83 	},
     84 ]
     85 
     86 
     87 # i18n
     88 LANGUAGE_CODE = "tr-tr"
     89 TIME_ZONE = "Europe/Istanbul"
     90 USE_I18N = True
     91 USE_L10N = True
     92 USE_TZ = True
     93 
     94 
     95 # assets/static files
     96 STATICFILES_DIRS = [BASE_DIR / "static"]
     97 
     98 STATIC_URL = "/static/"
     99 STATIC_ROOT = BASE_DIR / "asset/static"
    100 
    101 MEDIA_URL = "/media/"
    102 MEDIA_ROOT = BASE_DIR / "asset/media"
    103 
    104 
    105 # default pk type
    106 DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"