SORU
15 Ocak 2009, PERŞEMBE


Nasıl şablonlar içinde onlara medya / stil ve link koyar mısın Django:

Bu soruyu varyasyonları istendi, ama hala benim stil şablonları işlenirken doğru yüklemek için gidemiyorum.

Güçlü üretim, farkındayım cesareti olan gelişimi sırasında Django süreci - statik medya hizmet etmeye çalışıyorum. Benim yapılandırma ve benim şablon göndeririz, ve umarım birileri beni yanlış nereye gittiğimi anlamak için yardımcı olabilir.

Django projesi web sitesinde örnek, ancak bir şablondan senin stil bakın nasıl söz etmiyor takip etmeye çalıştım unutmayın. Ayrıca aynı şeyi çok farklı varyasyonlar denedim, kodu/ayarlarımı tarif. bir ara biraz daha fazla olabilir.

settings.py

MEDIA_ROOT = 'D:/Dev Tools/django_projects/dso/media'
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/media/'

urls.py

from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/(.*)', admin.site.root),
    (r'^ovramt/$', 'dso.ovramt.views.index'),
)

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

Şablon: içinde benim

<head> 
<title> {% block title %} DSO Template {% endblock %} </title> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<link rel="stylesheet" type="text/css" href="../media/styles.css">
</head>

Ben seni, dosyaları (şablonlar/medya) doğru dizinde dosya sistemi temin ederim. Eğer sağlamak için gereken herhangi bir ek bilgi varsa, lütfen bir yorum gönderin.


Düzenleme:

Sahip olduğum sorunlardan biri bir kullanımı '/' benim bağlantılar ön yerleştirmeyi. Eğer eğik çizgi işareti bulunur, bu siteyi kökünden açtı. Eğer eğik ise hiçbir bağlantı mevcut seviyesinde açıldı. Bir örnek:

www.example.com/application/ bir bağlantı vardır "/app2/ ve bir bağlantı "app3/".
uyg2 www.example.com/app2/ ' da başlayacak ve app3 www.example.com/application/app3/ açık olacak. Bu bana sanırım kafa karıştırıcıydı.

CEVAP
15 Ocak 2009, PERŞEMBE


Ben bunu kendim yapmak vardı.

settings.py:

MEDIA_ROOT = 'C:/Server/Projects/project_name/static/'
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'

urls.py:

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

şablon dosyası:

<link rel="stylesheet" type="text/css" href="/static/css/style.css" />

Dosya burada yer alan:

"C:/Server/Projects/project_name/static/css/style.css"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • Lin Steven

    Lin Steven

    17 EKİM 2006