Add storage subclass.

remotes/origin/enhancement/email-actions
Andrey Antukh 2013-10-23 15:48:40 +02:00
parent 8fbd7e2e07
commit 7d2d047177
4 changed files with 47 additions and 2 deletions

17
greenmine/base/storage.py Normal file
View File

@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
from django.conf import settings
from django.core.files import storage
import django_sites as sites
class FileSystemStorage(storage.FileSystemStorage):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if settings.MEDIA_URL.startswith("/"):
site = sites.get_current()
url_tmpl = "{scheme}//{domain}{url}"
scheme = site.scheme and "{0}:".format(site.scheme) or ""
self.base_url = url_tmpl.format(scheme=scheme, domain=site.domain,
url=settings.MEDIA_URL)

View File

@ -60,13 +60,18 @@ USE_L10N = True
LOGIN_URL='/auth/login/' LOGIN_URL='/auth/login/'
USE_TZ = True USE_TZ = True
SITES = {
1: {"domain": "localhost:8000", "scheme": "http"},
}
SITE_ID = 1
#SESSION BACKEND #SESSION BACKEND
SESSION_ENGINE='django.contrib.sessions.backends.db' SESSION_ENGINE='django.contrib.sessions.backends.db'
#SESSION_ENGINE='django.contrib.sessions.backends.cache' #SESSION_ENGINE='django.contrib.sessions.backends.cache'
#SESSION_EXPIRE_AT_BROWSER_CLOSE = False #SESSION_EXPIRE_AT_BROWSER_CLOSE = False
#SESSION_SAVE_EVERY_REQUEST = True #SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 1209600 # (2 weeks) SESSION_COOKIE_AGE = 1209600 # (2 weeks)
SESSION_HEADER_NAME = "HTTP_X_SESSION_TOKEN"
API_LIMIT_PER_PAGE = 0 API_LIMIT_PER_PAGE = 0
@ -115,6 +120,8 @@ STATIC_URL = '/static/'
# Examples: "http://foo.com/static/admin/", "/static/admin/". # Examples: "http://foo.com/static/admin/", "/static/admin/".
ADMIN_MEDIA_PREFIX = '/static/admin/' ADMIN_MEDIA_PREFIX = '/static/admin/'
DEFAULT_FILE_STORAGE = 'greenmine.base.storage.FileSystemStorage'
# Additional locations of static files # Additional locations of static files
STATICFILES_DIRS = ( STATICFILES_DIRS = (
@ -198,7 +205,8 @@ INSTALLED_APPS = [
'south', 'south',
'reversion', 'reversion',
'rest_framework', 'rest_framework',
'djmail' 'djmail',
'django_sites',
] ]
WSGI_APPLICATION = 'greenmine.wsgi.application' WSGI_APPLICATION = 'greenmine.wsgi.application'

View File

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf import settings
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin from django.contrib import admin
@ -16,4 +17,22 @@ urlpatterns = patterns('',
url(r'^grappelli/', include('grappelli.urls')), url(r'^grappelli/', include('grappelli.urls')),
) )
def mediafiles_urlpatterns():
"""
Method for serve media files with runserver.
"""
_media_url = settings.MEDIA_URL
if _media_url.startswith('/'):
_media_url = _media_url[1:]
from django.views.static import serve
return patterns('',
(r'^%s(?P<path>.*)$' % 'media', serve,
{'document_root': settings.MEDIA_ROOT})
)
urlpatterns += staticfiles_urlpatterns() urlpatterns += staticfiles_urlpatterns()
urlpatterns += mediafiles_urlpatterns()

View File

@ -21,3 +21,4 @@ djmail>=0.3
django-jinja>=0.21 django-jinja>=0.21
jinja2==2.7.1 jinja2==2.7.1
pygments>=1.6 pygments>=1.6
django-sites>=0.4