Django ikinci app static dosyaları okumuyor

aynı django projem üzerinde local hostta 2 uygulamam var. Birincisi için static dosyaları şu şekilde verirsem çalışıyor:

href='static/styles.css'

ancak ikinci uygulamamda bu şekilde çalışmıyor.
şu şekilde denediğimde de çalışmıyor:

href="{% static 'styles.css'%}"

settings.py içinde şu düzenlemeler mevcut:

STATIC_URL = '/static/'

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

bu 2 app ve templates, static gibi dosyalar aynı hiyerarşik düzeyde. Aldığım hata:

Invalid block tag on line 20: ‘static’. Did you forget to register or load this tag?

  <link rel="stylesheet" type="text/css" media="screen" href="{% static '/styles.css'%}">

Html dosyasının başına {% load static %} eklediniz mi?
Eklemediyseniz ekleyip tekrar deneyin.

1 Beğeni

Teşekkürler, çalıştı.

Bugun de views.py dan htmle veri yollarken ayni hatayla karsilastim .
Backendden htmle src icine yerlesecek veriyi nasil yollayabilirim?

image src gibi bir veriden mi bahsediyorsun ? yoksa bir şirketin website adresi gibi mi ?

image src için gene static ile sadece template üzerinden yapabilirsin.
{% static ‘klasor_ismi/dosya_ismi’ %}
src içine koyucaksan eğer dynamic value da {{}} şeklinde tanımlandığı için problem çıkabiliyor.

Bundan dolayı:

En ütte {% static “” as baseUrl %} şeklinde tanımlayıp daha sonra nerede src içinde kullanmak istiyorsan <img src="{{ baseUrl }}klasor_ismi/{{dynamic_value}}.png" style="height: 220px; width: 220px;" alt=""> şeklinde kullanabilirsin.

İkinci case için:
Eğer db de kayıtlı bir url çekiceksen view içinden onu contexte ekleyebilir ve sonrasında template üzerinde onu kullanabilirsin.

views.py:

some_url = company.url

context = {
"company_url": company.url
}

template.html:

<img src="{{company_url}}" />

{% load static %} eklemelisiniz html sayfalarına