[Solved]-Django : Static content not found


In your settings.py

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

    os.path.join(BASE_DIR, "static"),
STATIC_URL = '/static/'

Then in your template file:

<link rel="stylesheet" href="{{ STATIC_URL }}css/home.css">

With the directory root structure that you have shown, I think the above setting should work. Have not tested it though. Let me know if it works.


set DEBUG=True and see if it works .. this means, django will serve your static files, and not httpserver which in this case doesnt exist since you run the app locally.


I had researched this problem for a full day. This will be okay:

DEBUG = True


Django default BASE_DIR will search static content for you. But in your case you changed the way before initial project. So for that in your case you have to change your BASE_DIR like this .. then only static file will serve correctly

BASE_DIR = os.path.dirname(os.path.abspath(__file__) + '../../../')


I didn’t see that comment. ! DEBUG = True only for development and You set as False so will django use STATIC_ROOT = 'staticfiles' to serve the static content on the production environment … Thank you


You don’t have to refer to STATIC_ROOT = 'staticfiles'

Just Like that:

STATIC_URL = '/static/'

           os.path.join(BASE_DIR, "static"),


I had the same issue in Django.
I added to my settings: STATIC_ROOT = ‘static/’

It was the only problem.

Leave a comment