2014-12-14 2 views
0

, которые я указал Apache для моего проекта Джанго, а вот код, который я добавляю в файл httpd.conf Apache:Почему Джанго могут служить мультимедийные файлы, но не могут служить статические файлы

WSGIScriptAlias/E:/Django/mysite/mysite/wsgi.py 
WSGIPythonPath E:Django/mysite/ 

<Directory E:/Django/mysite/mysite/> 
<Files wsgi.py> 
Require all granted` 
</Files> 
</Directory> 

Сервер работает без проблем, но странно, когда я просматриваю свой сайт, я обнаружил, что все мультимедийные файлы успешно загружены, но все статические файлы не могут быть загружены (в консоли браузера он сообщает 404 (NOT FOUND) ошибка).

Вот настройки в файле settings.py о медиа-файлов и статических файлов:

STATIC_URL = '/static/' 

MEDIA_URL='/media/' 

MEDIA_ROOT=os.path.join(BASE_DIR,'media') 

STATIC_ROOT=os.path.join(BASE_DIR, "static") 

STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), 
    os.path.join(BASE_DIR, "media"),) 

И в urls.py, я ничего подобного urlpatterns + = статические (не добавлять ... , ...)

Может ли кто-нибудь помочь мне выяснить, почему медиафайлы в порядке, но статические файлы не могут быть загружены?

+0

вот как это делается во время разработки/производства: https://docs.djangoproject.com/en/dev/howto/static-files/ и https://docs.djangoproject.com/en/dev/howto/ static-files/deployment /. Лично я попробую добавить шаблоны url: 'urlpatterns = [] + static (settings.STATIC_URL, document_root = settings.STATIC_ROOT)' –

+0

Для Apache/mod_wsgi см. Https://docs.djangoproject.com/en/dev/HOWTO/развертывание/WSGI/modwsgi/# обслуживающих файлы –

ответ

0

Django не обрабатывает статические файлы в процессе производства. Вы должны связать статические файлы с Apache или если с помощью Nginx

mod_wsgi:

Alias /static/ /path/to/project/static/ 
<Directory /path/to/project/static> 
Require all granted 
</Directory> 

или Nginx:

location /static/ { 
     alias /opt/project/static/; 
    } 

По крайней мере, это правильный способ сделать это, пусть ваш сервер обрабатывать их, или в случае nginx ваш обратный прокси.

Смежные вопросы