我正在创建一个django项目,我在项目目录中有模板和静态文件夹。我可以渲染和查看html文件,但是它不能加载存储在静态文件夹中的css文件。我已经在html文件中放置了load static标签,但是当我运行python manage.py runserver时,我得到了这个错误
Performing system checks...
Watching for file changes with StatReloader
System check identified some issues:
WARNINGS:
?: (staticfiles.W004) The directory '/static' in the STATICFILES_DIRS setting does not exist.
System check identified 1 issue (0 silenced).
December 08, 2022 - 14:54:53
Django version 4.1.3, using settings 'brighterstrat.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
这就是我在html文件中引用静态文件的方式
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css'%}">
<link rel="stylesheet" href="{% static 'css/style.css'%}">
setting.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [os.path.join(BASE_DIR, '/static')]
STATICFILES_STORAGE = "django.contrib.staticfiles.storage.StaticFilesStorage"
我怎样才能让它加载css文件
2条答案
按热度按时间ubof19bj1#
Django静态可能会让人困惑,主要是因为prod和development之间的行为不同(即
DEBUG=True
)要重述设置:
在您的示例中,您似乎没有将文件放在
STATICFILES_DIRS
列出的目录中,因此请确保您有这些文件:t0ybt7op2#
要调试此问题,您可以在设置中添加打印:
要解决这个问题,您只需要删除斜线,它就可以正常工作。
从os.path.join()文档中:
如果组件是绝对路径,则会丢弃所有先前的组件,并从绝对路径组件继续连接。
这就是BASE_DIR从STATICFILES_DIRS变量中被切断的原因。