我想将静态文件放在任何应用程序之外的文件夹中。这是文件结构。
mysite
|---assets
|---css
|---js
|---images
|---companyinfo
|---views.py
|---models.py
|---templates
|---index.html
|---recruit.html
|--- ....
|---mysite
|---urls.py
|---settings.py
|--- ....
|---manage.py
|--- ....
settings.py如下所示。
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/assets/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "assets"),
]
这就是我调用模板文件中静态文件的方式,
<link href="assets/css/theme-style.css" rel="stylesheet">
mysite文件夹下的urls.py如下所示。我没有在companyinfo文件夹下定义urls.py。
from companyinfo import views as civiews
urlpatterns = [
url(r'^$', civiews.index, name='index'),
url(r'^recruit/$', civiews.recruit, name='recruit'),
]
views.py只是两个呈现html页面的函数。静态文件的URL在两个html页面中是相同的 问题是索引页面加载了所有css和js文件,但是新页面找不到那些文件。问题可能是什么?我正在使用Django1.10 提前谢谢!
答案 0 :(得分:1)
请更改此内容:
<link href="assets/css/theme-style.css" rel="stylesheet">
到此:
<link href="{% url 'css/theme-style.css %}" rel="stylesheet">