我可以在浏览器中查看我的网站(html),但我的标记都不起作用。我已经检查了我的样式表链接的类型,设置.py,但我在一个迷路。
当我运行我的网站时,我在我的终端上得到以下响应:
[10/Nov/2022 20:46:23] "GET / HTTP/1.1" 200 168
[10/Nov/2022 20:46:23] "GET /static/css/main.css HTTP/1.1" 404 1795
[10/Nov/2022 20:46:23] "GET /static/images/6%2Bcart.png HTTP/1.1" 404 1810`
下面是我的settings.py文件中的代码:
STATIC_URL = 'static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
在我的html页面中的css链接的例子
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}">
我已经尝试了所有可能的事情,但无法找到问题,任何和所有的反馈将非常感谢。我不允许张贴图片,所以不幸的是,我不能包括。
我已经重新编码,删除和重新制作了静态文件夹,搜索了互联网,但没有运气。
尝试这个静态文件配置,这对我来说很好。
在settings.py:
STATIC_URL = 'static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static/')]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') # for deployment
并添加url .py:
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
"""
-----
-----
"""
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL , document_root = settings.STATIC_ROOT)
如果仍然不能工作,你可以在你的urlpatterns中添加下面的代码来强制django提供静态文件。
from django.urls import path, include, re_path
from django.views.static import serve
urlpatterns = [
re_path(r'^static/(?P<path>.*)$', serve, {'document_root':settings.STATIC_ROOT}),
]
而不是:
<link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}">
试试这个:
<link rel="stylesheet" type="text/css" href="{% static './css/main.css' %}">