Django在本地提供静态文件

时间:2018-04-17 09:20:30

标签: django

自从我设置django在本地工作以来已经有一段时间了。我正在使用版本1.11。让它来提供静态文件。 我的项目名为chatsys,我在此文件夹chatsys\static\css\style.css中创建了静态文件夹和css。

以下是设置文件中的当前设置。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

并在网址

#for serving static files
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

最后在html中

{% load static %}
...
<link rel="stylesheet" type="text/css" href="/static/css/style.css">

但是在runserver控制台中,我获得了/static/css/style.css

的404

2 个答案:

答案 0 :(得分:5)

您应该定义STATICFILES_DIRS并在那里包含项目的静态目录。

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

这些是Django从中收集静态文件的目录。

然后,您应该将STATIC_ROOT更改为其他目录。它是collectstatic收集静态文件的目录。静态根目录不应受版本控制。

另外,您在模板中加载静态标记但未使用它。您可以将其更改为:

{% load static %}
...
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">

答案 1 :(得分:0)

移动基础目录下的静态文件夹

  • chatsys
    • 迁移
    • 模板
  • 静态
    • CSS
      • 的style.css