我正在尝试部署一个可以在本地运行的Django应用程序,但在我的网站上无法运行。Django index.html(模板)显示,但显示了下面的错误,并且没有加载css/js。
Failed to load resource: the server responded with a status of 404 (Not Found) - http://example.com/static/js/main
Failed to load resource: the server responded with a status of 404 (Not Found) - http://example.com/static/css/style.css
Lines I think are relevant in settings.py
x一个一个一个一个x一个一个二个一个x一个一个三个一个
如何在index.html模板中包含文件
{% load static %}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}"/>
</head>
<body>
<script src="{% static 'js/main.js' %}"></script>
</body>
</html>
应用程序结构如下
web_app/
├── src/
│ ├── config/
│ │ └── settings.py
│ ├── pages/
│ │ ├── static/
│ │ │ ├── css/
│ │ │ │ └── style.css
│ │ │ ├── js/
│ │ │ │ └── main.js
│ │ │ └── fonts/
│ │ ├── templates/
│ │ │ └── pages/
│ │ │ └── index.html
│ │ ├── urls.py
│ │ └── views.py
│ └── static (generated with collectstatic)/
│ ├── admin
│ ├── css/
│ │ └── style.css
│ ├── js/
│ │ └── main.js
│ └── fonts
├── manage.py
└── requirements.txt
尝试将JS代码移到index.html中,它工作了,所以我猜它可能因为某种原因找不到静态文件。
我还尝试设置css文件的绝对路径,但它给出了同样的错误。
1条答案
按热度按时间fykwrbwg1#
Django不会提供静态文件,只有dev服务器(runserver)被配置为这样做,你可以让静态文件从Django前面的HTTP服务器(例如Apache2或Nginx)提供,这是推荐的方法,或者使用whitenouse