我正在使用预制的bootstrap index.html和CSS表格。在以前的文件夹结构中,index.html和所有附带的文件夹(如css,js,fonts,img等)都位于一个文件夹中。现在它们位于两个位置,如下所示。当我从本地Django开发网络服务器上以应用程序的形式打开索引页面时,它可以很好地加载索引,但是页面上的所有相关链接都被破坏了-css,js,img等...
我是Django的新手。
先前的引导文件夹结构:
- public_web_site
- bootstrap_1
- css
- fonts
- img
- js
- index.html
我希望Django项目的组织方式如下:
- myproject
- polls
- myproject_django
- public_web_site
- static
- public_web_site
- bootstrap_1
- css
- fonts
- img
- js
- admin
- templates
- public_web_site
- index.html
- admin
- admin.py
- apps.py
- models.py
- urls.py
- views.py
这有效:
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'public_web_site/css/bootstrap.min.css' %}">
但这不是:
<link rel="stylesheet" href="css/bootstrap.min.css">
Not Found: /pub_boots/css/bootstrap.min.css
要重新说明问题:是否可以在某个地方添加变量或路径名以使预制模板起作用,而无需我编辑每个相对链接以使用Django {%static%}路径?还是有一种简单/更好的方法将预制的引导网站拖放到Django应用中?
答案 0 :(得分:0)
如果在HTML路径中省略前面的“ /”,它将从当前URL开始查找文件。示例:
如果您从“ http://www.example.com/some-directory/somepage.html”中调用“ css / bootstrap.min.css”
浏览器将请求:http://www.example.com/some-directory/css/bootstrap.min.css
您没有发布引荐来源网址,因此可能需要检查一下。我总是使用绝对路径来确保安全,特别是因为我使用mod-rewrite。