settings.py
241 lines
| 7.2 KiB
| text/x-python
|
PythonLexer
/ neboard / settings.py
neko259
|
r0 | # Django settings for neboard project. | ||
Ilyas
|
r9 | import os | ||
neko259
|
r0 | |||
DEBUG = True | ||||
TEMPLATE_DEBUG = DEBUG | ||||
ADMINS = ( | ||||
# ('Your Name', 'your_email@example.com'), | ||||
neko259
|
r28 | ('admin', 'admin@example.com') | ||
neko259
|
r0 | ) | ||
MANAGERS = ADMINS | ||||
DATABASES = { | ||||
'default': { | ||||
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. | ||||
'NAME': 'database.db', # Or path to database file if using sqlite3. | ||||
'USER': '', # Not used with sqlite3. | ||||
'PASSWORD': '', # Not used with sqlite3. | ||||
'HOST': '', # Set to empty string for localhost. Not used with sqlite3. | ||||
'PORT': '', # Set to empty string for default. Not used with sqlite3. | ||||
neko259
|
r334 | 'CONN_MAX_AGE': None, | ||
neko259
|
r0 | } | ||
} | ||||
# Local time zone for this installation. Choices can be found here: | ||||
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name | ||||
# although not all choices may be available on all operating systems. | ||||
# In a Windows environment this must be set to your system time zone. | ||||
TIME_ZONE = 'Europe/Kiev' | ||||
# Language code for this installation. All choices can be found here: | ||||
# http://www.i18nguy.com/unicode/language-identifiers.html | ||||
neko259
|
r104 | LANGUAGE_CODE = 'en' | ||
neko259
|
r0 | |||
SITE_ID = 1 | ||||
# If you set this to False, Django will make some optimizations so as not | ||||
# to load the internationalization machinery. | ||||
USE_I18N = True | ||||
# If you set this to False, Django will not format dates, numbers and | ||||
# calendars according to the current locale. | ||||
USE_L10N = True | ||||
# If you set this to False, Django will not use timezone-aware datetimes. | ||||
USE_TZ = True | ||||
neko259
|
r1142 | USE_ETAGS = True | ||
neko259
|
r0 | # Absolute filesystem path to the directory that will hold user-uploaded files. | ||
# Example: "/home/media/media.lawrence.com/media/" | ||||
Ilyas
|
r49 | MEDIA_ROOT = './media/' | ||
neko259
|
r0 | |||
# URL that handles the media served from MEDIA_ROOT. Make sure to use a | ||||
# trailing slash. | ||||
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" | ||||
Ilyas
|
r49 | MEDIA_URL = '/media/' | ||
neko259
|
r0 | |||
# Absolute path to the directory static files should be collected to. | ||||
# Don't put anything in this directory yourself; store your static files | ||||
# in apps' "static/" subdirectories and in STATICFILES_DIRS. | ||||
# Example: "/home/media/media.lawrence.com/static/" | ||||
STATIC_ROOT = '' | ||||
# URL prefix for static files. | ||||
# Example: "http://media.lawrence.com/static/" | ||||
STATIC_URL = '/static/' | ||||
# Additional locations of static files | ||||
Ilyas
|
r9 | # It is really a hack, put real paths, not related | ||
neko259
|
r0 | STATICFILES_DIRS = ( | ||
Ilyas
|
r9 | os.path.dirname(__file__) + '/boards/static', | ||
# '/d/work/python/django/neboard/neboard/boards/static', | ||||
neko259
|
r0 | # Put strings here, like "/home/html/static" or "C:/www/django/static". | ||
# Always use forward slashes, even on Windows. | ||||
# Don't forget to use absolute paths, not relative paths. | ||||
) | ||||
# List of finder classes that know how to find static files in | ||||
# various locations. | ||||
STATICFILES_FINDERS = ( | ||||
'django.contrib.staticfiles.finders.FileSystemFinder', | ||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder', | ||||
) | ||||
neko259
|
r279 | if DEBUG: | ||
STATICFILES_STORAGE = \ | ||||
'django.contrib.staticfiles.storage.StaticFilesStorage' | ||||
else: | ||||
STATICFILES_STORAGE = \ | ||||
'django.contrib.staticfiles.storage.CachedStaticFilesStorage' | ||||
neko259
|
r259 | |||
neko259
|
r0 | # Make this unique, and don't share it with anybody. | ||
SECRET_KEY = '@1rc$o(7=tt#kd+4s$u6wchm**z^)4x90)7f6z(i&55@o11*8o' | ||||
neko259
|
r1387 | TEMPLATES = [{ | ||
'BACKEND': 'django.template.backends.django.DjangoTemplates', | ||||
'DIRS': ['templates'], | ||||
'OPTIONS': { | ||||
'loaders': [ | ||||
('django.template.loaders.cached.Loader', [ | ||||
'django.template.loaders.filesystem.Loader', | ||||
'django.template.loaders.app_directories.Loader', | ||||
]), | ||||
], | ||||
'context_processors': [ | ||||
neko259
|
r1422 | 'django.template.context_processors.csrf', | ||
neko259
|
r1387 | 'django.core.context_processors.media', | ||
'django.core.context_processors.static', | ||||
'django.core.context_processors.request', | ||||
'django.contrib.auth.context_processors.auth', | ||||
'boards.context_processors.user_and_ui_processor', | ||||
], | ||||
}, | ||||
}] | ||||
neko259
|
r0 | |||
Ilyas
|
r9 | |||
neko259
|
r1381 | MIDDLEWARE_CLASSES = [ | ||
neko259
|
r1142 | 'django.middleware.http.ConditionalGetMiddleware', | ||
neko259
|
r104 | 'django.contrib.sessions.middleware.SessionMiddleware', | ||
'django.middleware.locale.LocaleMiddleware', | ||||
neko259
|
r0 | 'django.middleware.common.CommonMiddleware', | ||
'django.contrib.auth.middleware.AuthenticationMiddleware', | ||||
'django.contrib.messages.middleware.MessageMiddleware', | ||||
neko259
|
r210 | 'boards.middlewares.BanMiddleware', | ||
neko259
|
r1065 | 'boards.middlewares.TimezoneMiddleware', | ||
neko259
|
r1381 | ] | ||
neko259
|
r0 | |||
ROOT_URLCONF = 'neboard.urls' | ||||
# Python dotted path to the WSGI application used by Django's runserver. | ||||
WSGI_APPLICATION = 'neboard.wsgi.application' | ||||
INSTALLED_APPS = ( | ||||
'django.contrib.auth', | ||||
'django.contrib.contenttypes', | ||||
'django.contrib.sessions', | ||||
neko259
|
r89 | # 'django.contrib.sites', | ||
neko259
|
r1148 | 'django.contrib.messages', | ||
neko259
|
r0 | 'django.contrib.staticfiles', | ||
# Uncomment the next line to enable the admin: | ||||
neko259
|
r690 | 'django.contrib.admin', | ||
neko259
|
r0 | # Uncomment the next line to enable admin documentation: | ||
# 'django.contrib.admindocs', | ||||
neko259
|
r1145 | #'django.contrib.humanize', | ||
neko259
|
r690 | |||
neko259
|
r317 | 'debug_toolbar', | ||
neko259
|
r690 | |||
# Search | ||||
'haystack', | ||||
'boards', | ||||
neko259
|
r317 | ) | ||
neko259
|
r0 | # A sample logging configuration. The only tangible logging | ||
# performed by this configuration is to send an email to | ||||
# the site admins on every HTTP 500 error when DEBUG=False. | ||||
# See http://docs.djangoproject.com/en/dev/topics/logging for | ||||
# more details on how to customize your logging configuration. | ||||
LOGGING = { | ||||
'version': 1, | ||||
'disable_existing_loggers': False, | ||||
neko259
|
r639 | 'formatters': { | ||
'verbose': { | ||||
neko259
|
r868 | 'format': '%(levelname)s %(asctime)s %(name)s %(process)d %(thread)d %(message)s' | ||
neko259
|
r639 | }, | ||
'simple': { | ||||
neko259
|
r868 | 'format': '%(levelname)s %(asctime)s [%(name)s] %(message)s' | ||
neko259
|
r639 | }, | ||
}, | ||||
neko259
|
r0 | 'filters': { | ||
'require_debug_false': { | ||||
'()': 'django.utils.log.RequireDebugFalse' | ||||
} | ||||
}, | ||||
'handlers': { | ||||
neko259
|
r639 | 'console': { | ||
'level': 'DEBUG', | ||||
'class': 'logging.StreamHandler', | ||||
'formatter': 'simple' | ||||
}, | ||||
neko259
|
r0 | }, | ||
'loggers': { | ||||
neko259
|
r639 | 'boards': { | ||
'handlers': ['console'], | ||||
'level': 'DEBUG', | ||||
} | ||||
}, | ||||
neko259
|
r0 | } | ||
neko259
|
r690 | HAYSTACK_CONNECTIONS = { | ||
'default': { | ||||
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', | ||||
'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'), | ||||
}, | ||||
} | ||||
neko259
|
r35 | THEMES = [ | ||
('md', 'Mystic Dark'), | ||||
neko259
|
r254 | ('md_centered', 'Mystic Dark (centered)'), | ||
neko259
|
r193 | ('sw', 'Snow White'), | ||
('pg', 'Photon Gray'), | ||||
neko259
|
r113 | ] | ||
wnc_21
|
r95 | |||
neko259
|
r1122 | IMAGE_VIEWERS = [ | ||
('simple', 'Simple'), | ||||
('popup', 'Popup'), | ||||
] | ||||
neko259
|
r1381 | ALLOWED_HOSTS = ['*'] | ||
neko259
|
r365 | POSTING_DELAY = 20 # seconds | ||
neko259
|
r195 | |||
neko259
|
r853 | # Websocket settins | ||
CENTRIFUGE_HOST = 'localhost' | ||||
CENTRIFUGE_PORT = '9090' | ||||
CENTRIFUGE_ADDRESS = 'http://{}:{}'.format(CENTRIFUGE_HOST, CENTRIFUGE_PORT) | ||||
CENTRIFUGE_PROJECT_ID = '<project id here>' | ||||
CENTRIFUGE_PROJECT_SECRET = '<project secret here>' | ||||
CENTRIFUGE_TIMEOUT = 5 | ||||
neko259
|
r317 | |||
neko259
|
r1381 | # Debug middlewares | ||
MIDDLEWARE_CLASSES += [ | ||||
'debug_toolbar.middleware.DebugToolbarMiddleware', | ||||
] | ||||
neko259
|
r472 | |||
neko259
|
r1381 | def custom_show_toolbar(request): | ||
return request.user.has_perm('admin.debug') | ||||
neko259
|
r472 | |||
neko259
|
r1381 | DEBUG_TOOLBAR_CONFIG = { | ||
'ENABLE_STACKTRACES': True, | ||||
'SHOW_TOOLBAR_CALLBACK': 'neboard.settings.custom_show_toolbar', | ||||
} | ||||
neko259
|
r472 | |||
neko259
|
r1381 | # FIXME Uncommenting this fails somehow. Need to investigate this | ||
#DEBUG_TOOLBAR_PANELS += ( | ||||
# 'debug_toolbar.panels.profiling.ProfilingDebugPanel', | ||||
#) | ||||