PageRenderTime 128ms CodeModel.GetById 60ms app.highlight 30ms RepoModel.GetById 31ms app.codeStats 0ms

/django/conf/global_settings.py

https://code.google.com/p/mango-py/
Python | 597 lines | 350 code | 78 blank | 169 comment | 2 complexity | 0d25f889256d69e0250947436cbd8f04 MD5 | raw file
  1# Default Django settings. Override these with settings in the module
  2# pointed-to by the DJANGO_SETTINGS_MODULE environment variable.
  3
  4# This is defined here as a do-nothing function because we can't import
  5# django.utils.translation -- that module depends on the settings.
  6gettext_noop = lambda s: s
  7
  8####################
  9# CORE             #
 10####################
 11
 12DEBUG = False
 13TEMPLATE_DEBUG = False
 14
 15# Whether the framework should propagate raw exceptions rather than catching
 16# them. This is useful under some testing siutations and should never be used
 17# on a live site.
 18DEBUG_PROPAGATE_EXCEPTIONS = False
 19
 20# Whether to use the "Etag" header. This saves bandwidth but slows down performance.
 21USE_ETAGS = False
 22
 23# People who get code error notifications.
 24# In the format (('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com'))
 25ADMINS = ()
 26
 27# Tuple of IP addresses, as strings, that:
 28#   * See debug comments, when DEBUG is true
 29#   * Receive x-headers
 30INTERNAL_IPS = ()
 31
 32# Local time zone for this installation. All choices can be found here:
 33# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name (although not all
 34# systems may support all possibilities).
 35TIME_ZONE = 'America/Chicago'
 36
 37# Language code for this installation. All choices can be found here:
 38# http://www.i18nguy.com/unicode/language-identifiers.html
 39LANGUAGE_CODE = 'en-us'
 40
 41# Languages we provide translations for, out of the box. The language name
 42# should be the utf-8 encoded local name for the language.
 43LANGUAGES = (
 44    ('ar', gettext_noop('Arabic')),
 45    ('az', gettext_noop('Azerbaijani')),
 46    ('bg', gettext_noop('Bulgarian')),
 47    ('bn', gettext_noop('Bengali')),
 48    ('bs', gettext_noop('Bosnian')),
 49    ('ca', gettext_noop('Catalan')),
 50    ('cs', gettext_noop('Czech')),
 51    ('cy', gettext_noop('Welsh')),
 52    ('da', gettext_noop('Danish')),
 53    ('de', gettext_noop('German')),
 54    ('el', gettext_noop('Greek')),
 55    ('en', gettext_noop('English')),
 56    ('en-gb', gettext_noop('British English')),
 57    ('es', gettext_noop('Spanish')),
 58    ('es-ar', gettext_noop('Argentinian Spanish')),
 59    ('es-mx', gettext_noop('Mexican Spanish')),
 60    ('es-ni', gettext_noop('Nicaraguan Spanish')),
 61    ('et', gettext_noop('Estonian')),
 62    ('eu', gettext_noop('Basque')),
 63    ('fa', gettext_noop('Persian')),
 64    ('fi', gettext_noop('Finnish')),
 65    ('fr', gettext_noop('French')),
 66    ('fy-nl', gettext_noop('Frisian')),
 67    ('ga', gettext_noop('Irish')),
 68    ('gl', gettext_noop('Galician')),
 69    ('he', gettext_noop('Hebrew')),
 70    ('hi', gettext_noop('Hindi')),
 71    ('hr', gettext_noop('Croatian')),
 72    ('hu', gettext_noop('Hungarian')),
 73    ('id', gettext_noop('Indonesian')),
 74    ('is', gettext_noop('Icelandic')),
 75    ('it', gettext_noop('Italian')),
 76    ('ja', gettext_noop('Japanese')),
 77    ('ka', gettext_noop('Georgian')),
 78    ('km', gettext_noop('Khmer')),
 79    ('kn', gettext_noop('Kannada')),
 80    ('ko', gettext_noop('Korean')),
 81    ('lt', gettext_noop('Lithuanian')),
 82    ('lv', gettext_noop('Latvian')),
 83    ('mk', gettext_noop('Macedonian')),
 84    ('ml', gettext_noop('Malayalam')),
 85    ('mn', gettext_noop('Mongolian')),
 86    ('nl', gettext_noop('Dutch')),
 87    ('no', gettext_noop('Norwegian')),
 88    ('nb', gettext_noop('Norwegian Bokmal')),
 89    ('nn', gettext_noop('Norwegian Nynorsk')),
 90    ('pa', gettext_noop('Punjabi')),
 91    ('pl', gettext_noop('Polish')),
 92    ('pt', gettext_noop('Portuguese')),
 93    ('pt-br', gettext_noop('Brazilian Portuguese')),
 94    ('ro', gettext_noop('Romanian')),
 95    ('ru', gettext_noop('Russian')),
 96    ('sk', gettext_noop('Slovak')),
 97    ('sl', gettext_noop('Slovenian')),
 98    ('sq', gettext_noop('Albanian')),
 99    ('sr', gettext_noop('Serbian')),
100    ('sr-latn', gettext_noop('Serbian Latin')),
101    ('sv', gettext_noop('Swedish')),
102    ('ta', gettext_noop('Tamil')),
103    ('te', gettext_noop('Telugu')),
104    ('th', gettext_noop('Thai')),
105    ('tr', gettext_noop('Turkish')),
106    ('uk', gettext_noop('Ukrainian')),
107    ('ur', gettext_noop('Urdu')),
108    ('vi', gettext_noop('Vietnamese')),
109    ('zh-cn', gettext_noop('Simplified Chinese')),
110    ('zh-tw', gettext_noop('Traditional Chinese')),
111)
112
113# Languages using BiDi (right-to-left) layout
114LANGUAGES_BIDI = ("he", "ar", "fa")
115
116# If you set this to False, Django will make some optimizations so as not
117# to load the internationalization machinery.
118USE_I18N = True
119LOCALE_PATHS = ()
120LANGUAGE_COOKIE_NAME = 'django_language'
121
122# If you set this to True, Django will format dates, numbers and calendars
123# according to user current locale
124USE_L10N = False
125
126# Not-necessarily-technical managers of the site. They get broken link
127# notifications and other various e-mails.
128MANAGERS = ADMINS
129
130# Default content type and charset to use for all HttpResponse objects, if a
131# MIME type isn't manually specified. These are used to construct the
132# Content-Type header.
133DEFAULT_CONTENT_TYPE = 'text/html'
134DEFAULT_CHARSET = 'utf-8'
135
136# Encoding of files read from disk (template and initial SQL files).
137FILE_CHARSET = 'utf-8'
138
139# E-mail address that error messages come from.
140SERVER_EMAIL = 'root@localhost'
141
142# Whether to send broken-link e-mails.
143SEND_BROKEN_LINK_EMAILS = False
144
145# Database connection info.
146# Legacy format
147DATABASE_ENGINE = ''           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
148DATABASE_NAME = ''             # Or path to database file if using sqlite3.
149DATABASE_USER = ''             # Not used with sqlite3.
150DATABASE_PASSWORD = ''         # Not used with sqlite3.
151DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
152DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
153DATABASE_OPTIONS = {}          # Set to empty dictionary for default.
154
155# New format
156DATABASES = {
157}
158
159# Classes used to implement db routing behaviour
160DATABASE_ROUTERS = []
161
162# The email backend to use. For possible shortcuts see django.core.mail.
163# The default is to use the SMTP backend.
164# Third-party backends can be specified by providing a Python path
165# to a module that defines an EmailBackend class.
166EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
167
168# Host for sending e-mail.
169EMAIL_HOST = 'localhost'
170
171# Port for sending e-mail.
172EMAIL_PORT = 25
173
174# Optional SMTP authentication information for EMAIL_HOST.
175EMAIL_HOST_USER = ''
176EMAIL_HOST_PASSWORD = ''
177EMAIL_USE_TLS = False
178
179# List of strings representing installed apps.
180INSTALLED_APPS = ()
181
182# List of locations of the template source files, in search order.
183TEMPLATE_DIRS = ()
184
185# List of callables that know how to import templates from various sources.
186# See the comments in django/core/template/loader.py for interface
187# documentation.
188TEMPLATE_LOADERS = (
189    'django.template.loaders.filesystem.Loader',
190    'django.template.loaders.app_directories.Loader',
191#     'django.template.loaders.eggs.Loader',
192)
193
194# List of processors used by RequestContext to populate the context.
195# Each one should be a callable that takes the request object as its
196# only parameter and returns a dictionary to add to the context.
197TEMPLATE_CONTEXT_PROCESSORS = (
198    'django.contrib.auth.context_processors.auth',
199    'django.core.context_processors.debug',
200    'django.core.context_processors.i18n',
201    'django.core.context_processors.media',
202    'django.core.context_processors.static',
203#    'django.core.context_processors.request',
204    'django.contrib.messages.context_processors.messages',
205)
206
207# Output to use in template system for invalid (e.g. misspelled) variables.
208TEMPLATE_STRING_IF_INVALID = ''
209
210# Default e-mail address to use for various automated correspondence from
211# the site managers.
212DEFAULT_FROM_EMAIL = 'webmaster@localhost'
213
214# Subject-line prefix for email messages send with django.core.mail.mail_admins
215# or ...mail_managers.  Make sure to include the trailing space.
216EMAIL_SUBJECT_PREFIX = '[Django] '
217
218# Whether to append trailing slashes to URLs.
219APPEND_SLASH = True
220
221# Whether to prepend the "www." subdomain to URLs that don't have it.
222PREPEND_WWW = False
223
224# Override the server-derived value of SCRIPT_NAME
225FORCE_SCRIPT_NAME = None
226
227# List of compiled regular expression objects representing User-Agent strings
228# that are not allowed to visit any page, systemwide. Use this for bad
229# robots/crawlers. Here are a few examples:
230#     import re
231#     DISALLOWED_USER_AGENTS = (
232#         re.compile(r'^NaverBot.*'),
233#         re.compile(r'^EmailSiphon.*'),
234#         re.compile(r'^SiteSucker.*'),
235#         re.compile(r'^sohu-search')
236#     )
237DISALLOWED_USER_AGENTS = ()
238
239ABSOLUTE_URL_OVERRIDES = {}
240
241# Tuple of strings representing allowed prefixes for the {% ssi %} tag.
242# Example: ('/home/html', '/var/www')
243ALLOWED_INCLUDE_ROOTS = ()
244
245# If this is a admin settings module, this should be a list of
246# settings modules (in the format 'foo.bar.baz') for which this admin
247# is an admin.
248ADMIN_FOR = ()
249
250# 404s that may be ignored.
251IGNORABLE_404_STARTS = ('/cgi-bin/', '/_vti_bin', '/_vti_inf')
252IGNORABLE_404_ENDS = ('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')
253
254# A secret key for this particular Django installation. Used in secret-key
255# hashing algorithms. Set this in your settings, or Django will complain
256# loudly.
257SECRET_KEY = ''
258
259# Default file storage mechanism that holds media.
260DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
261
262# Absolute filesystem path to the directory that will hold user-uploaded files.
263# Example: "/home/media/media.lawrence.com/media/"
264MEDIA_ROOT = ''
265
266# URL that handles the media served from MEDIA_ROOT.
267# Example: "http://media.lawrence.com/media/"
268MEDIA_URL = ''
269
270# Absolute path to the directory that holds static files.
271# Example: "/home/media/media.lawrence.com/static/"
272STATIC_ROOT = ''
273
274# URL that handles the static files served from STATIC_ROOT.
275# Example: "http://media.lawrence.com/static/"
276STATIC_URL = None
277
278# List of upload handler classes to be applied in order.
279FILE_UPLOAD_HANDLERS = (
280    'django.core.files.uploadhandler.MemoryFileUploadHandler',
281    'django.core.files.uploadhandler.TemporaryFileUploadHandler',
282)
283
284# Maximum size, in bytes, of a request before it will be streamed to the
285# file system instead of into memory.
286FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB
287
288# Directory in which upload streamed files will be temporarily saved. A value of
289# `None` will make Django use the operating system's default temporary directory
290# (i.e. "/tmp" on *nix systems).
291FILE_UPLOAD_TEMP_DIR = None
292
293# The numeric mode to set newly-uploaded files to. The value should be a mode
294# you'd pass directly to os.chmod; see http://docs.python.org/lib/os-file-dir.html.
295FILE_UPLOAD_PERMISSIONS = None
296
297# Python module path where user will place custom format definition.
298# The directory where this setting is pointing should contain subdirectories
299# named as the locales, containing a formats.py file
300# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use)
301FORMAT_MODULE_PATH = None
302
303# Default formatting for date objects. See all available format strings here:
304# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
305DATE_FORMAT = 'N j, Y'
306
307# Default formatting for datetime objects. See all available format strings here:
308# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
309DATETIME_FORMAT = 'N j, Y, P'
310
311# Default formatting for time objects. See all available format strings here:
312# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
313TIME_FORMAT = 'P'
314
315# Default formatting for date objects when only the year and month are relevant.
316# See all available format strings here:
317# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
318YEAR_MONTH_FORMAT = 'F Y'
319
320# Default formatting for date objects when only the month and day are relevant.
321# See all available format strings here:
322# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
323MONTH_DAY_FORMAT = 'F j'
324
325# Default short formatting for date objects. See all available format strings here:
326# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
327SHORT_DATE_FORMAT = 'm/d/Y'
328
329# Default short formatting for datetime objects.
330# See all available format strings here:
331# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
332SHORT_DATETIME_FORMAT = 'm/d/Y P'
333
334# Default formats to be used when parsing dates from input boxes, in order
335# See all available format string here:
336# http://docs.python.org/library/datetime.html#strftime-behavior
337# * Note that these format strings are different from the ones to display dates
338DATE_INPUT_FORMATS = (
339    '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
340    '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
341    '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
342    '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
343    '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
344)
345
346# Default formats to be used when parsing times from input boxes, in order
347# See all available format string here:
348# http://docs.python.org/library/datetime.html#strftime-behavior
349# * Note that these format strings are different from the ones to display dates
350TIME_INPUT_FORMATS = (
351    '%H:%M:%S',     # '14:30:59'
352    '%H:%M',        # '14:30'
353)
354
355# Default formats to be used when parsing dates and times from input boxes,
356# in order
357# See all available format string here:
358# http://docs.python.org/library/datetime.html#strftime-behavior
359# * Note that these format strings are different from the ones to display dates
360DATETIME_INPUT_FORMATS = (
361    '%Y-%m-%d %H:%M:%S',     # '2006-10-25 14:30:59'
362    '%Y-%m-%d %H:%M',        # '2006-10-25 14:30'
363    '%Y-%m-%d',              # '2006-10-25'
364    '%m/%d/%Y %H:%M:%S',     # '10/25/2006 14:30:59'
365    '%m/%d/%Y %H:%M',        # '10/25/2006 14:30'
366    '%m/%d/%Y',              # '10/25/2006'
367    '%m/%d/%y %H:%M:%S',     # '10/25/06 14:30:59'
368    '%m/%d/%y %H:%M',        # '10/25/06 14:30'
369    '%m/%d/%y',              # '10/25/06'
370)
371
372# First day of week, to be used on calendars
373# 0 means Sunday, 1 means Monday...
374FIRST_DAY_OF_WEEK = 0
375
376# Decimal separator symbol
377DECIMAL_SEPARATOR = '.'
378
379# Boolean that sets whether to add thousand separator when formatting numbers
380USE_THOUSAND_SEPARATOR = False
381
382# Number of digits that will be together, when spliting them by
383# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands...
384NUMBER_GROUPING = 0
385
386# Thousand separator symbol
387THOUSAND_SEPARATOR = ','
388
389# Do you want to manage transactions manually?
390# Hint: you really don't!
391TRANSACTIONS_MANAGED = False
392
393# The User-Agent string to use when checking for URL validity through the
394# isExistingURL validator.
395from django import get_version
396URL_VALIDATOR_USER_AGENT = "Django/%s (http://www.djangoproject.com)" % get_version()
397
398# The tablespaces to use for each model when not specified otherwise.
399DEFAULT_TABLESPACE = ''
400DEFAULT_INDEX_TABLESPACE = ''
401
402USE_X_FORWARDED_HOST = False
403
404##############
405# MIDDLEWARE #
406##############
407
408# List of middleware classes to use.  Order is important; in the request phase,
409# this middleware classes will be applied in the order given, and in the
410# response phase the middleware will be applied in reverse order.
411MIDDLEWARE_CLASSES = (
412    'django.middleware.common.CommonMiddleware',
413    'django.contrib.sessions.middleware.SessionMiddleware',
414    'django.middleware.csrf.CsrfViewMiddleware',
415    'django.contrib.auth.middleware.AuthenticationMiddleware',
416    'django.contrib.messages.middleware.MessageMiddleware',
417#     'django.middleware.http.ConditionalGetMiddleware',
418#     'django.middleware.gzip.GZipMiddleware',
419)
420
421############
422# SESSIONS #
423############
424
425SESSION_COOKIE_NAME = 'sessionid'                       # Cookie name. This can be whatever you want.
426SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2               # Age of cookie, in seconds (default: 2 weeks).
427SESSION_COOKIE_DOMAIN = None                            # A string like ".lawrence.com", or None for standard domain cookie.
428SESSION_COOKIE_SECURE = False                           # Whether the session cookie should be secure (https:// only).
429SESSION_COOKIE_PATH = '/'                               # The path of the session cookie.
430SESSION_COOKIE_HTTPONLY = False                         # Whether to use the non-RFC standard httpOnly flag (IE, FF3+, others)
431SESSION_SAVE_EVERY_REQUEST = False                      # Whether to save the session data on every request.
432SESSION_EXPIRE_AT_BROWSER_CLOSE = False                 # Whether a user's session cookie expires when the Web browser is closed.
433SESSION_ENGINE = 'django.contrib.sessions.backends.db'  # The module to store session data
434SESSION_FILE_PATH = None                                # Directory to store session files if using the file session module. If None, the backend will use a sensible default.
435
436#########
437# CACHE #
438#########
439
440# New format
441CACHES = {
442}
443# The cache backend to use.  See the docstring in django.core.cache for the
444# possible values.
445CACHE_MIDDLEWARE_KEY_PREFIX = ''
446CACHE_MIDDLEWARE_SECONDS = 600
447CACHE_MIDDLEWARE_ALIAS = 'default'
448
449####################
450# COMMENTS         #
451####################
452
453COMMENTS_ALLOW_PROFANITIES = False
454
455# The profanities that will trigger a validation error in the
456# 'hasNoProfanities' validator. All of these should be in lowercase.
457PROFANITIES_LIST = ()
458
459# The group ID that designates which users are banned.
460# Set to None if you're not using it.
461COMMENTS_BANNED_USERS_GROUP = None
462
463# The group ID that designates which users can moderate comments.
464# Set to None if you're not using it.
465COMMENTS_MODERATORS_GROUP = None
466
467# The group ID that designates the users whose comments should be e-mailed to MANAGERS.
468# Set to None if you're not using it.
469COMMENTS_SKETCHY_USERS_GROUP = None
470
471# The system will e-mail MANAGERS the first COMMENTS_FIRST_FEW comments by each
472# user. Set this to 0 if you want to disable it.
473COMMENTS_FIRST_FEW = 0
474
475# A tuple of IP addresses that have been banned from participating in various
476# Django-powered features.
477BANNED_IPS = ()
478
479##################
480# AUTHENTICATION #
481##################
482
483AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
484
485LOGIN_URL = '/accounts/login/'
486
487LOGOUT_URL = '/accounts/logout/'
488
489LOGIN_REDIRECT_URL = '/accounts/profile/'
490
491# The number of days a password reset link is valid for
492PASSWORD_RESET_TIMEOUT_DAYS = 3
493
494########
495# CSRF #
496########
497
498# Dotted path to callable to be used as view when a request is
499# rejected by the CSRF middleware.
500CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
501
502# Name and domain for CSRF cookie.
503CSRF_COOKIE_NAME = 'csrftoken'
504CSRF_COOKIE_DOMAIN = None
505
506############
507# MESSAGES #
508############
509
510# Class to use as messges backend
511MESSAGE_STORAGE = 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'
512
513# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within
514# django.contrib.messages to avoid imports in this settings file.
515
516###########
517# LOGGING #
518###########
519
520# The callable to use to configure logging
521LOGGING_CONFIG = 'django.utils.log.dictConfig'
522
523# The default logging configuration. This sends an email to
524# the site admins on every HTTP 500 error. All other log
525# records are sent to the bit bucket.
526LOGGING = {
527    'version': 1,
528    'disable_existing_loggers': False,
529    'filters': {
530        'require_debug_false': {
531            '()': 'django.utils.log.CallbackFilter',
532            'callback': lambda r: not DEBUG
533        }
534    },
535    'handlers': {
536        'mail_admins': {
537            'level': 'ERROR',
538            'filters': ['require_debug_false'],
539            'class': 'django.utils.log.AdminEmailHandler'
540        }
541    },
542    'loggers': {
543        'django.request': {
544            'handlers': ['mail_admins'],
545            'level': 'ERROR',
546            'propagate': True,
547        },
548    }
549}
550
551###########
552# TESTING #
553###########
554
555# The name of the class to use to run the test suite
556TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner'
557
558# The name of the database to use for testing purposes.
559# If None, a name of 'test_' + DATABASE_NAME will be assumed
560TEST_DATABASE_NAME = None
561
562# Strings used to set the character set and collation order for the test
563# database. These values are passed literally to the server, so they are
564# backend-dependent. If None, no special settings are sent (system defaults are
565# used).
566TEST_DATABASE_CHARSET = None
567TEST_DATABASE_COLLATION = None
568
569############
570# FIXTURES #
571############
572
573# The list of directories to search for fixtures
574FIXTURE_DIRS = ()
575
576###############
577# STATICFILES #
578###############
579
580# A list of locations of additional static files
581STATICFILES_DIRS = ()
582
583# The default file storage backend used during the build process
584STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
585
586# List of finder classes that know how to find static files in
587# various locations.
588STATICFILES_FINDERS = (
589    'django.contrib.staticfiles.finders.FileSystemFinder',
590    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
591#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
592)
593
594# URL prefix for admin media -- CSS, JavaScript and images.
595# Make sure to use a trailing slash.
596# Examples: "http://foo.com/static/admin/", "/static/admin/".
597ADMIN_MEDIA_PREFIX = '/static/admin/'