Yanıtlar:
Geliştirme sunucusunu kullanıyorsanız, URL'lerinizi ayarlamak için django projesinin statik dosyaları yönetmek için nasıl yapılır kılavuzunu izleyin , ardından şablondaki medya dosyalarınızı referans alın - örneğin, bir resim klasörünün içindeki bir görüntü /site_media/images/foo.gif
.
Daha genel olarak ifade etmek gerekirse, Django'dan statik bir dosyanın nasıl sunulacağını soruyorsunuz. Apache altında çalışıyorsanız, http://docs.djangoproject.com/en/dev/howto/deployment/modpython/ okumanız gerekir.
Geliştirme sunucusunu çalıştırıyorsanız (örneğin, dizüstü bilgisayarınızda), http://docs.djangoproject.com/en/dev/howto/static-files/ adresini okuyun.
Django geliştirme sunucusuyla ilgili büyük, büyük feragatnameye dikkat edin :
Bu da bana bir süre sorunlara neden oldu (404 hata bulunamadı). Benim için eksik olan kısım, bunu STATICFILES_DIRS
bana vermek için settings.py'deki tuple'ı düzenlemekti :
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(os.path.dirname(__file__),'media').replace('\\','/'),
)
Bu daha sonra CSS dosyalarımı django projemin en üst seviyesinde olan 'media' adlı bir klasörden aldı.
Da sahiptim:
MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/media/'
( /
yukarıdan başladığınızdan emin olun STATIC_URL
)
Tabii ki, yukarıda da belirtildiği gibi, CSS dosyasını html dosyalarınızdan düzgün bir şekilde eklemeniz gerekir. Sahiptim:
<link href="{{ STATIC_URL }}css/ea_base.css" rel="stylesheet" type="text/css" media="screen" />
.replace('\\','/')
gereksizdir.
Django'nun css dosyasını görmesini sağlamak için hangi ayarları yapmam gerekiyor?
Yok.
Şablonunuzun CSS dosyasını içerdiğinden (standart HTML'de olduğu gibi) emin olun ve CSS dosyasını medya sunucusuna yerleştirin.
Açıklığa kavuşturmak için: Django ile, tüm medyanızı (dinamik html olmayan her şeyi) farklı bir sunucu örneğinden sunmanız şiddetle tavsiye edilir. Bunu nasıl uygulayacağınız tamamen size bağlıdır, ancak çoğu insan bir alt alan adı oluşturur.
Resmi django doktorları bana yardımcı olmadı. Umarım " Django: Statik dosyalar nasıl servis edilir " blog yazısı bazılarınıza yardımcı olur.
Django ile css kullanmanın en kolay yolu, onu şablonlarınıza statik dosyalar olarak eklemektir.
Ama biraz ajax gibi, standart bir şekilde nasıl dahil edileceğini söyleyen hiçbir şey bulamadım.
Boyutunu optimize etmek istiyorsanız, django için bir css-sıkıştırıcı modülü vardır.