我正在学习Django并尝试创建模块化模板,我遇到了这个问题
在我的开发人员工具中,我收到此错误:
GET http://127.0.0.1:8000/static/assets/css/default.css 404 (NOT FOUND) 127.0.0.1/:8
GET http://127.0.0.1:8000/static/assets/images/pythonlogo.jpeg 404 (NOT FOUND) 127.0.0.1/:84
根据我的理解,让STATIC_URL = '/static/'
允许使用{%static%},并将/static/
附加到静态文件夹的路径中。另外,使用STATICFILES_DIR
用于查找项目中的静态文件。
目前我有:
STATIC_URL = '/static/'
STATICFILES_DIR = (
('assets', '/Users/BobDole/Development/django-brad/django_test/'),
)
通过阅读文档,我觉得'assets'
用作名称空间或变量来表示/Users/BobDole/Development/django-brad/django_test/
在我使用的html页面中
<img src="{% static 'assets/images/pythonlogo.jpeg' %}">
<link rel="stylesheet" type="text/css" href="{% static 'assets/css/default.css' %}">
我当前的项目目录结构
django_test/
admin/
article/ <-- app
templates/
django_test/
templates/
images/
static/
css/
我相信我使用STATIC_URL和STATICFILES_DIR不正确可能有些人提供了一些建议吗?谢谢!
答案 0 :(得分:1)
是什么让你觉得assets
在某种程度上是神奇的?它不是,它只是一个目录的名称。您没有名为that的目录,因此不应使用它。使用{% static 'images/pythonlogo.jpeg' %}
等
答案 1 :(得分:1)
试试这个:
<img src="{{ STATIC_URL }}assets/images/pythonlogo.jpeg">
Django将更改STATIC_URL为/ whatever / whatever / static /,因此img将访问的URL为:/whatever/whatever/static/assets/images/pythonlogo.jpeg
事物是/ whatever / whatever / static /必须是“static”文件夹包含
之前的路径我在我的项目中使用STATIC_URL( settings.py ):
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(PROJECT_PATH, "static")
STATIC_URL = '/static/'
编辑您必须在settings.py
中添加这3行