On Tue, 25 Jan 2011 21:46:39 -0800 (PST)
Brian Neal wrote:
Hiya,
> I'm trying to cut over my project to use the new staticfiles
> application. I'm using the dev server with DEBUG = True on a recent
> SVN trunk checkout. My STATIC_URL is '/static/' and my MEDIA_URL is
> 'http://localhost:8000/media/' in this environment.
I'm in a similar boat...trying (again) with Django-1.3
> Eventually I came to the conclusion that I had do this:
>
> urls.py:
> if settings.DEBUG:
>urlpatterns += patterns('django.contrib.staticfiles.views',
> (r'^media/(?P.*)$', 'serve', {'document_root':
> settings.MEDIA_ROOT}),
>)
My project is at ~/home/gour/www/zinnia in virtual env.
Zinnia (blog engine) media files are symlinked to:
/usr/home/gour/www/zinnia/lib/python2.7/site-packages/zinnia/media/zinnia -->
/usr/home/gour/www/zinnia/blog/static
and in order to see media files I've the following in my settings.py:
[...]
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(PROJECT_PATH, "static")
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/media/admin/'
[...]
and here is the snippet from urls.py:
from django.conf import settings
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^media/(?P.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
)
The above snippet is from dev-docs, while the 1.3 doc says:
from django.conf import settings
if settings.DEBUG:
urlpatterns += patterns('django.contrib.staticfiles.views',
url(r'^static/(?P.*)$', 'serve'),
)
Now I'm told on #django that this is obsolete and from 1.3 one is supposed to
use:
django.contrib.staticfiles
and I tried to add it to INSTALLED_APPS, defined STATIC_ROOT, STATIC_URL,
STATICFILES_DIRS..and adding:
urlpatterns += staticfiles_urlpatterns() to urls.py, but all what I get is 404
errors.
> The docs don't seem to mention using this view for this purpose.
> Should they?
This is my confusion as well. The doc says:
This view is automatically enabled by runserver (with a DEBUG setting set to
True). To use the view with a different local development server, add the
following snippet to the end of your primary URL configuration:
from django.conf import settings
if settings.DEBUG:
urlpatterns += patterns('django.contrib.staticfiles.views',
url(r'^static/(?P.*)$', 'serve'),
)
and based on the avove it seems that if one just wants to use runserver there
should not be need for the django.contrib.staticfiles.views view, but, based on
my experience I was not able to render media files without using the above
snippet in urls.py, so my humgble request is whether someone can provide
correct info how to serve app's media (static) files in django-1.3 when using
runserver in development?
Sincerely,
Gour
--
“In the material world, conceptions of good and bad are
all mental speculations…” (Sri Caitanya Mahaprabhu)
http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
signature.asc
Description: PGP signature