settings.py
208 lines
| 6.7 KiB
| text/x-python
|
PythonLexer
/ neboard / settings.py
|
r0 | # Django settings for neboard project. | |
|
r9 | import os | |
|
r52 | import markdown | |
from boards.mdx_neboard import markdown_extended | |||
|
r0 | ||
DEBUG = True | |||
TEMPLATE_DEBUG = DEBUG | |||
ADMINS = ( | |||
# ('Your Name', 'your_email@example.com'), | |||
|
r28 | ('admin', 'admin@example.com') | |
|
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. | |||
} | |||
} | |||
|
r186 | CACHES = { | |
'default': { | |||
'BACKEND': 'django.core.cache.backends.db.DatabaseCache', | |||
'LOCATION': 'neboard_cache', | |||
} | |||
} | |||
|
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 | |||
|
r104 | LANGUAGE_CODE = 'en' | |
|
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 | |||
# Absolute filesystem path to the directory that will hold user-uploaded files. | |||
# Example: "/home/media/media.lawrence.com/media/" | |||
|
r49 | MEDIA_ROOT = './media/' | |
|
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/" | |||
|
r49 | MEDIA_URL = '/media/' | |
|
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 | |||
|
r9 | # It is really a hack, put real paths, not related | |
|
r0 | STATICFILES_DIRS = ( | |
|
r9 | os.path.dirname(__file__) + '/boards/static', | |
# '/d/work/python/django/neboard/neboard/boards/static', | |||
|
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', | |||
# 'django.contrib.staticfiles.finders.DefaultStorageFinder', | |||
) | |||
# 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' | |||
# List of callables that know how to import templates from various sources. | |||
TEMPLATE_LOADERS = ( | |||
'django.template.loaders.filesystem.Loader', | |||
'django.template.loaders.app_directories.Loader', | |||
# 'django.template.loaders.eggs.Loader', | |||
) | |||
|
r9 | TEMPLATE_CONTEXT_PROCESSORS = ( | |
'django.core.context_processors.media', | |||
'django.core.context_processors.static', | |||
'django.core.context_processors.request', | |||
'django.contrib.auth.context_processors.auth', | |||
) | |||
|
r0 | MIDDLEWARE_CLASSES = ( | |
|
r104 | 'django.contrib.sessions.middleware.SessionMiddleware', | |
'django.middleware.locale.LocaleMiddleware', | |||
|
r0 | 'django.middleware.common.CommonMiddleware', | |
|
r9 | # 'django.middleware.csrf.CsrfViewMiddleware', | |
|
r0 | 'django.contrib.auth.middleware.AuthenticationMiddleware', | |
'django.contrib.messages.middleware.MessageMiddleware', | |||
# Uncomment the next line for simple clickjacking protection: | |||
# 'django.middleware.clickjacking.XFrameOptionsMiddleware', | |||
) | |||
ROOT_URLCONF = 'neboard.urls' | |||
# Python dotted path to the WSGI application used by Django's runserver. | |||
WSGI_APPLICATION = 'neboard.wsgi.application' | |||
TEMPLATE_DIRS = ( | |||
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". | |||
# Always use forward slashes, even on Windows. | |||
# Don't forget to use absolute paths, not relative paths. | |||
'templates', | |||
) | |||
INSTALLED_APPS = ( | |||
'django.contrib.auth', | |||
'django.contrib.contenttypes', | |||
'django.contrib.sessions', | |||
|
r89 | # 'django.contrib.sites', | |
|
r0 | 'django.contrib.messages', | |
'django.contrib.staticfiles', | |||
# Uncomment the next line to enable the admin: | |||
'django.contrib.admin', | |||
# Uncomment the next line to enable admin documentation: | |||
# 'django.contrib.admindocs', | |||
|
r36 | 'django.contrib.markup', | |
|
r39 | 'django_cleanup', | |
|
r0 | 'boards', | |
|
r78 | 'captcha', | |
|
r114 | 'south', | |
|
r0 | ) | |
|
r78 | # TODO: NEED DESIGN FIXES | |
CAPTCHA_OUTPUT_FORMAT = (u' %(hidden_field)s ' | |||
u'<div class="form-label">%(image)s</div>' | |||
u'<div class="form-text">%(text_field)s</div>') | |||
|
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, | |||
'filters': { | |||
'require_debug_false': { | |||
'()': 'django.utils.log.RequireDebugFalse' | |||
} | |||
}, | |||
'handlers': { | |||
'mail_admins': { | |||
'level': 'ERROR', | |||
'filters': ['require_debug_false'], | |||
'class': 'django.utils.log.AdminEmailHandler' | |||
} | |||
}, | |||
'loggers': { | |||
'django.request': { | |||
'handlers': ['mail_admins'], | |||
'level': 'ERROR', | |||
'propagate': True, | |||
}, | |||
} | |||
} | |||
|
r57 | MARKUP_FIELD_TYPES = ( | |
('markdown', markdown_extended), | |||
) | |||
|
r0 | # Custom imageboard settings | |
|
r155 | MAX_POSTS_PER_THREAD = 10 # Thread bumplimit | |
MAX_THREAD_COUNT = 500 # Old threads will be deleted to preserve this count | |||
|
r47 | THREADS_PER_PAGE = 10 | |
|
r35 | SITE_NAME = 'Neboard' | |
THEMES = [ | |||
('md', 'Mystic Dark'), | |||
|
r113 | ('sw', 'Snow White') | |
] | |||
|
r95 | ||
|
r49 | DEFAULT_THEME = 'md' | |
|
r52 | ||
|
r59 | POPULAR_TAGS = 10 | |
|
r81 | LAST_REPLIES_COUNT = 3 | |
|
r113 | ENABLE_CAPTCHA = False | |
|
r95 | # if user tries to post before CAPTCHA_DEFAULT_SAFE_TIME. Captcha will be shown | |
|
r104 | CAPTCHA_DEFAULT_SAFE_TIME = 30 # seconds | |
|
r155 | POSTING_DELAY = 30 # seconds |