我正在构建一个聊天机器人应用程序。使用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文件的路径。但是,这不起作用
答案 0 :(得分:1)
您的CSS文件不应位于templates
文件夹中,而应位于static
内的app
文件夹中。来自documentation:
将静态文件存储在应用中名为static的文件夹中。例如my_app / static / my_app / example.jpg。
参见该部分的其余部分,它非常简洁。您可能希望myapp
内有static
个文件夹,以避免在有更多应用时发生冲突。
答案 1 :(得分:1)
您需要运行以下
python manage.py collectstatic