1

我正在尝试按照这些说明在我的 Django 项目中启用静态文件。我有

STATIC_URL = '/static/'

在我的 settings.py 文件中。我已'django.contrib.staticfiles',添加到INSTALLED_APPS = (...)创建文件夹mysite/static/mysite并将文件放在那里的部分。但是在我运行服务器后,我无法访问我的文件http://127.0.0.1:8000/static/mysite/style.css。我做错了什么?

4

2 回答 2

1

settings.py包括这个:

import os
settings_dir = os.path.dirname(__file__)
PROJECT_ROOT = os.path.abspath(os.path.dirname(settings_dir))

STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, 'static/mysite/'),
)

在你urls.py的最后包括这些行:

from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

希望能帮助到你。

于 2013-05-06T00:55:20.513 回答
0

我可以建议几件事来检查:

  • 至少在我的项目中,静态文件夹位于 app 目录中,而不是项目目录中。例如,mysite/myapp/static/myapp/img.jpg而不是mysite/static/mysite/img.jpg. 您的项目可能不在正确的位置。

  • 在链接文件之前,请确保 {% load staticfiles %} 在您的 html 模板中。

  • 当您在 html 模板中链接文件时,而不是直接链接

<link rel="stylesheet" href="myapp/css/custom.css">

利用

<link rel="stylesheet" href="{% static 'myapp/css/custom.css' %}">

这足以让静态文件在我的项目中工作,而无需修改 urls.py 或手动设置 PROJECT_ROOT 或 STATICFILES_DIRS。

于 2013-05-06T01:52:23.613 回答