0

我正在学习 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 可以为我提供一些建议吗?谢谢!

4

2 回答 2

1

是什么让你觉得assets在某种程度上是魔法?不是,它只是一个目录的名称。你没有一个叫做那个的目录,所以你不应该使用它。使用{% static 'images/pythonlogo.jpeg' %}

于 2013-11-12T09:17:40.667 回答
1

尝试这个:

<img src="{{ STATIC_URL }}assets/images/pythonlogo.jpeg"> 

Django 将更改 /whatever/whatever/static/ 的 STATIC_URL,因此 img 将访问的 url 是:/whatever/whatever/static/assets/images/pythonlogo.jpeg

问题是 /whatever/whatever/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 行

于 2013-11-12T09:54:05.287 回答