Talha Ahmed
Talha Ahmed

Reputation: 85

Django: my css static path does not exist

My link looks like this:

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

This is fine because it gets the path I want which is href="/static/css/background.css". I use {% load static}. I have django.contrib.staticfiles in my INSTALLED_APPS. This is some more relevant info on my settings.py:

STATIC_URL = '/static/'

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

But I'm pretty sure this is right too. My problem is that static/css/background.css cannot be found by my local server. I know this because http://localhost:8000/static/css/background.css gives me a 404 error. I don't know why this is the case because this is my project file path:

Project

  Project

  src

  static

     css
       background.css

Upvotes: 0

Views: 586

Answers (2)

Talha Ahmed
Talha Ahmed

Reputation: 85

I fixed my problem and I'm posting this in case anyone this can help anyone else. My problem is that I had my static folder outside my app. It turns out that my website is targeting my app and so when django was looking for the static folder it was looking for it in my app. So try putting your static files in your app and see if that helps.

Upvotes: 0

h3k
h3k

Reputation: 196

Have you set your url paths ? Here is a snippet from the official Django documentation.

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

Upvotes: 3

Related Questions