медиа-хук django не выбирает правильный каталог - PullRequest
1 голос
/ 02 января 2012

Я настроил следующее в своем urls.py:

 (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT})

, и мои настройки:

MEDIA_ROOT = 'd:/~Sasha/Portman/media/'
MEDIA_URL = 'http://localhost:8000/media/'

и следующий URL:

http://localhost:8000/media/icons/151.png

возвращает:

"d:\install\python27\lib\site-packages\django\contrib\admin\media\icons\151.png" does not exist

что-то еще мне не хватает?

Ответы [ 2 ]

1 голос
/ 03 января 2012

Проблема заключалась в том, что settings.ADMIN_MEDIA_PREFIX и MEDIA_ROOT указывали на один и тот же / media / end, поэтому r '^ media /' смешивал их.Изменил ADMIN_MEDIA_PREFIX на / admin-media /, и теперь все работает.

0 голосов
/ 02 января 2012

У вас должна быть настройка каталога проекта в settings.py, которую используют другие настройки.

Мои настройки:

BASE_PATH = os.path.dirname(os.path.abspath(__file__))
...
MEDIA_ROOT = os.path.join(BASE_PATH, 'media')
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/static/admin/'
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
    os.path.join(os.path.dirname(__file__), 'static').replace('\\', '/'),
    os.path.join(BASE_PATH, 'static'),
)

и затем в urls.py, в конце

if settings.DEBUG:
  urlpatterns += patterns("",
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve',      {'document_root':settings.MEDIA_ROOT})
)
urlpatterns += staticfiles_urlpatterns()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...