加载CSS使用django返回404

时间:2017-08-15 17:35:31

标签: python html css django

我正在构建一个聊天机器人应用程序。使用django的静态数据加载不会加载前端的CSS。

css的路径是 - C:\ Documents \ Django_Workspace \ bot \ templates \ static \ bot.css

html的路径是 - C:\ Documents \ Django_Workspace \ bot \ templates \ index.html

我在设置文件中添加了STATIC_URL

STATIC_URL = '/static/'

HTML链接标记看起来像

{% load static %}
<head>
  <meta charset="UTF-8">
  <title>bot</title>
  <link rel="stylesheet" type="text/css" href="{% static "bot.css" %}" />
</head>

我的Urls.py看起来像

from django.conf.urls import url
from . import views

urlpatterns = [
   url(r'^$', views.index, name='index'),
]

这就是我渲染html页面的方式

from django.http import HttpResponse
from django.template import loader
from .models import User_Message

def index(request):
   template = loader.get_template('index.html')
   return HttpResponse(template.render())

任何人都可以提供帮助。我甚至尝试在html标签中硬编码css文件的路径。但是,这不起作用

2 个答案:

答案 0 :(得分:1)

您的CSS文件不应位于templates文件夹中,而应位于static内的app文件夹中。来自documentation

  

将静态文件存储在应用中名为static的文件夹中。例如my_app / static / my_app / example.jpg。

参见该部分的其余部分,它非常简洁。您可能希望myapp内有static个文件夹,以避免在有更多应用时发生冲突。

答案 1 :(得分:1)

您需要运行以下

python manage.py collectstatic