Джанго: Как добавить статические файлы - PullRequest
1 голос
/ 14 октября 2010

Прочитал все эти темы https://stackoverflow.com/search?q=django.views.static.serve И это не помогло: (

ОС: Windows XP Python: 2.7 Django: 1.2.3

Медиа в D: \ bugtracker \ static

С файлами: docicons-note.gifstyle.css

In settings.py Я установил:MEDIA_ROOT = 'D: / bugtracker / static /'MEDIA_URL = '/ static /'

В urls.py я установил:

urlpatterns = patterns('',
    (r'^media/(?P.*)$', 'django.views.static.serve',{'document_root':'settings.MEDIA_ROOT'}),
)

шаблон: (читать без пробела в )< !DOCTYPE html> < html lang='ru'><br/> < head><br/> < link rel="stylesheet" type="text/css" href="media/style.css" /><br/> < /head><br/> < body><br/> < img src="{{MEDIA_URL}}/docicons-note.gif"/><br/> < /body><br/> < /html>

Ответы [ 3 ]

5 голосов
/ 14 октября 2010

urls.py:

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

settings.py MEDIA_ROOT = 'путь / к / медиа / папка /'

Так что если у вас есть /test_media/photo.jpg, будет использоваться значение из MEDIA_ROOT 'path / to / media / folder / photo.jpg'

файл шаблона:

< !DOCTYPE html> < html lang='ru'>
< head>
< link rel="stylesheet" type="text/css" href="/test_media/style.css" />
< /head>
< body>
< img src="/test_media/docicons-note.gif"/>
< /body>
< /html> 

Это следует использовать только в целях разработки. Для производства вы должны использовать настоящий веб-сервер.

2 голосов
/ 15 октября 2010

Ваш файл settings.py имеет:

MEDIA_URL = '/static/'

Но в urls.py ваше приложение статической подачи указывает на "мультимедиа".Измените вашу статическую запись подачи в urls.py, чтобы она соответствовала настройке MEDIA_URL:

urlpatterns = patterns('',
    (r'^static/(?P.*)$', 'django.views.static.serve',{'document_root':'settings.MEDIA_ROOT'}),
)

Надеюсь, это будет лучше для вас.

0 голосов
/ 14 октября 2010

Статическое обслуживание выполняется только через Django, если запущен тестовый сервер.Если вы используете отдельный веб-сервер, вам необходимо использовать возможности этого веб-сервера для обслуживания статических файлов, например директиву Alias.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...