Django на apache2 / mod_wsgi и collectstatic - PullRequest
       27

Django на apache2 / mod_wsgi и collectstatic

0 голосов
/ 08 февраля 2012

Я настраиваю Django на Apache под Ubuntu 11.04.Мои медиафайлы недоступны.

httpd.conf

Alias /robots.txt /home/i159/workspace/prod-shivablog/shivablog/robots.txt
Alias /favicon.ico /home/i159/workspace/prod-shivablog/shivalog/favicon.ico

AliasMatch ^/([^/]*\.css) /home/i159/workspace/prod-     shivablog/shivablog/site_media/static/css/$1

Alias /media/ /home/i159/workspace/prod-shivablog/shivablog/site_media/static/
Alias /static/ /home/i159/workspace/prod-shivablog/shivablog/site_media/static/

<Directory /home/i159/workspace/prod-shivablog/shivablog/static>
Order deny,allow
Allow from all
</Directory>

<Directory /home/i159/workspace/prod-shivablog/shivablog/media>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /home/i159/workspace/prod-shivablog/shivablog/deploy/wsgi.py
WSGIDaemonProcess local-shivablog.com python-path=/home/i159/workspace/prod-    shivablog/shivablog/:/home/i159/.envs/shivablog/python2.7/site-packages

<Directory /home/i159/workspace/prod-shivablog/shivablog>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>

urls

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

wsgi

import os, sys

sys.path.insert(0,  os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), os.pardir,  os.pardir)))
sys.path.insert(0,  os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), os.pardir)))

from django.core.handlers.wsgi import WSGIHandler
os.environ["DJANGO_SETTINGS_MODULE"] = "shivablog.settings"
application = WSGIHandler()

настройки

MEDIA_ROOT = ''

MEDIA_URL = "/media/"

STATIC_ROOT = ''

STATIC_URL = "/site_media/static/"

Как сделать мои медиафайлы доступными?Какие конфигурации правильные?После collectstatic все статические и медиафайлы собираются в site_media/static.Должен ли я получить свои медиа-файлы из этого каталога (site_media/static)?

1 Ответ

0 голосов
/ 08 февраля 2012

У вас не должно быть записи в вашем файле urls.py для медиа или статических файлов.Если вы хотя бы заключите их в причину, которая делает это только в режиме отладки = True.

https://docs.djangoproject.com/en/1.2/howto/static-files/

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

Также в вашем файле .htaccess есть следующие строки, которые указывают ната же папка, я думаю, что они должны отличаться, так как ваши статические файлы не находятся в вашей медиа-папке.

Alias /media/ /home/i159/workspace/prod-shivablog/shivablog/site_media/static/
Alias /static/ /home/i159/workspace/prod-shivablog/shivablog/site_media/static/
...