参考: diango1
1. 模版文件,静态文件一般放在 项目目录下,与 app同级。
[root@chehce GS_CMDB]# pwd /opt/gs_cpa/devops/GS_CMDB #项目目录 [root@chehce GS_CMDB]# ls -alh total 12K drwxr-xr-x 6 root root 119 May 25 16:38 . drwxr-xr-x 6 root root 67 May 25 10:31 .. drwxr-xr-x 3 root root 123 May 25 15:54 CMDB #一个app目录 -rw-r--r-- 1 root root 3.0K May 25 10:34 db.sqlite3 drwxr-xr-x 2 root root 146 May 25 15:44 GS_CMDB -rwxr-xr-x 1 root root 805 May 25 10:31 manage.py drwxr-xr-x 2 root root 6 May 25 16:38 static #静态文件目录 drwxr-xr-x 2 root root 6 May 25 16:38 templates #html文件目录 -rw-r--r-- 1 root root 2.0K May 25 15:44 设计文档
setting中配置如下:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], #这点配置模版目录 'APP_DIRS': True, #下面是static的配置,注意后面的逗号 STATIC_URL = '/static/' #自带,相当于给下面的路径取了个别名. #自己添加 STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), )
前端引用
#注意1: 方法1 #为了后端的更改不会影响前端的引入,避免造成前端大量修改 STATIC_URL = '/static/' #引用名 STATICFILES_DIRS = ( os.path.join(BASE_DIR,"statics") #实际名 ,即实际文件夹的名字 ) #django对引用名和实际名进行映射,引用时,只能按照引用名来,不能按实际名去找 #<script src="/statics/jquery-3.1.1.js"></script> #------error-----不能直接用,必须用STATIC_URL = '/static/': #<script src="/static/jquery-3.1.1.js"></script> #注意2(statics文件夹写在不同的app下,静态文件的调用):方法2 STATIC_URL = '/static/' STATICFILES_DIRS=( (os.path.join(BASE_DIR,"app01","statics")) , ) #<script src="/static/hello/jquery-1.8.2.min.js"></script> #注意3:方法3 推荐 STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR,"statics") ) #前端文件需要加的 {% load staticfiles %} <script src={% static "jquery-1.8.2.min.js" %}></script>