Django : Static content not found

妖精的绣舞 提交于 2019-12-04 01:51:34

In your settings.py

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

STATICFILES_DIRS = (
    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.

Wu Jakey

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

DEBUG = True
ALLOWED_HOSTS = []

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__) + '../../../')

Updated:

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/'

STATICFILES_DIRS = (
           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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!