我对网络开发相对较新。我正在尝试构建我的第一个Web应用程序。我在project_root / static中有我的静态文件夹,但出于某种原因,我在运行服务器时仍然获得404s:
未找到:/users/login/js/bootstrap.min.js 例如。
我在html的顶部和我的settings.py中有{%load staticfiles%}:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
感谢。
编辑:已修复以下答案的组合。谢谢大家!
答案 0 :(得分:1)
继续阅读本文 - http://agiliq.com/blog/2013/03/serving-static-files-in-django/
摘要,例如,如果用户是项目中的应用名称,则创建dir-' users / static / js /'。并放入bootstrap.min.js。可以在localhost:8000 / static / js / bootstrap.min.js访问此文件。现在继续尝试一下。
那么Django里面发生了什么?它是如何工作的? 阅读本文 - http://agiliq.com/blog/2013/03/serving-static-files-in-django/
答案 1 :(得分:1)
将静态js,css和其他文件放在项目目录中名为static
的目录中,然后这些设置就可以了:
# this defines the url for static files
# eg: base-url.com/static/your-js-file.js
STATIC_URL = '/static/'
# this is directory name where collectstatic files command will put your app level static files
STATIC_ROOT = 'staticfiles'
# this is directory paths where you have to put your project level static files
# you can put multiple folders here
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
根据这些设置,您将能够正确访问静态文件
答案 2 :(得分:0)
如果DEBUG=True
是settings.py,它将无法使用。在这种情况下,Django希望Apache / Nginx处理静态文件。
答案 3 :(得分:0)
在 settings.py 中使用以下代码
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_ROOT = '/xxx/site/public/static/'
MEDIA_ROOT = '/xxx/site/public/media/'
或 在 settings.py
中删除或评论DEBUG = True