当直接在项目文件夹下面直接加入一个前台模板,发现不能直接去调用其中的css,js等静态文件
目录如下:其中Templates文件夹是我直接托进项目文件夹中的
Test/
--------------_init_.py
--------------setting.py
--------------urls.py
--------------views.py
--------------templates/
----------------------------index.html
----------------------------css/
----------------------------------common.css
----------------------------js/
----------------------------------main.js
理解django的路由设定,它不会根据你的url帮你来去服务器某个特定的文件夹去取文件
所以必须得自己去配置
所以我们到settings.py中去设定
settings.py中已经有默认的
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATIC_URL = '/static/'
上面代码说明 碰到 /static/.../ 这种路由,django就会知道这是对静态文件的访问
所以我们就可以定义 STATICFILES_DIRS 来告诉Django应该去那里找对应的静态文件
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'Templates/'),
#'/statics/js/',
)
上述代码就直接告诉Django, 碰到Static的时候就去Templates下面找
前端代码如下
<link href="/static/common.css" rel="stylesheet" />
其中的 /static 就给django提醒这是个静态文件 最后django会在定好的DIRS下面去找这个文件
所以实际上 :
/static/common.css
在django看来就是
/Templates/common.css
所以静态文件也得到匹配
相关文档可以参考Django documentation中的相关文档:
https://docs.djangoproject.com/en/1.9/ref/settings/#static-files
如有错误,望指正,谢谢!