2010-12-08 9 views
5

runserver modunda çalışıyor. Bazı nedenlerden dolayı django yönetimi kırıldı. CSS eksik.Django Admin, apache yoluyla CSS bağlantısını kırdı, ancak

MEDIA_ROOT = os.path.normpath(os.path.join(SITE_ROOT, 'media/')) 
MEDIA_URL = '/media/' 
ADMIN_MEDIA_PREFIX = '/admin_media/' 

Ancak yönetici sayfasında oluşturulan çizgi hala: Burada

benim ayarlardır

<link rel="stylesheet" type="text/css" href="/admin_media/css/base.css" /> 

ancak site bu dosyaya bana 404 veriyor.

Ve daha da iyiye gidiyor - projeyi görüntülemek için apache kullanırsam, bu sorun oluşur. python manage.py runserver kullanırsam yönetici iyi çalışır.

Bunun neden olabileceğine dair herhangi bir ipucu var mı? - yeniden başlatılan apache, bu yardımcı olmadı. Burada

i URL'ler dosyasında ne var:

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

Statik ortam dosyalarını Django aracılığıyla mı sunuyorsunuz yoksa Apache aracılığıyla mı sunuyorsunuz? Eğer ikincisiyse, Apache konfigürasyonu altında dosyaları nasıl düzenlediğinizi göstermek isteyebilirsiniz. –

+0

Eğer cevabı nasıl anlayacağımı söylerseniz, anladım ve size söyleyeyim – mgPePe

cevap

9

Tamam, bunu anladım.

Üretim sunucusu için, sağladığınız ayarın bağlantısını kurmanız gerekir.

: Eğer satır ekleyerek sitelerinizi derece özellikli bir dosya düzenlemek zorunda

ADMIN_MEDIA_PREFIX = '/admin_media/' 

Ve dosyalara bakmak için apache anlatmak amacıyla: Benim için, ben settings.py dosyasında, admin_media klasörü seçti

Alias /admin_media/ /usr/lib/python2.6/dist-packages/django/contrib/admin/media/ 

Bununla birlikte, bu benim sunucumda yüklü olarak django katkısı yöneticisinin yolu olduğunu unutmayın. Sunucunuzun farklı bir kurulumu olabilir, bu yüzden ayarlarınızı arayın. python'unuzun kopyalandığı yere kopyayı kopyalamak için şu bağlantıyı kullanın:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" 

Herkese iyi şanslar!

+1

Teşekkürler, bu gerçekten yararlı bir yazıydı. ADMIN_MEDIA_PREFIX'ten [Python]/dist-packages/django/contrib/admin/media/dizinine bir sembolik link oluşturdum ve bu da Apache sanal host dosyasını düzenlemeye gerek kalmadan çalıştı. – igniteflow

+0

İyi yazılmış. Tam olarak aynı sorunu çözdüm. – Cerin

+3

Django 1.4.2'de yolun farklı olduğunu belirtmeye değer. Bu, /usr/local/lib/python2.6/dist-packages/django/contrib/admin/static/admin/ –