赞
踩
通过我多次试验,我得出的结论是,这个STATIC_URL = ‘/static/’,实际就是访问静态文件的路由地址,比如:127.0.0.1:8000/static/…,在127.0.0.1:8000/后面加静态文件的路径,这个多数用在模板templates那块
直接上代码:
1、首先,我们配置静态文件,要在setting.py里面加入如下几行代码:
# 这个我感觉主要是用在templates中
# STATIC_URL = '/static/' # debug=true使用
STATIC_URL = '/staticfiles/' # debug=False使用
# BASE_DIR 是项目的绝对地址
# 我们通常用的static,用来放静态js,css文件,同样也可以放一些图
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
# 生产环境时,使用这个,就是setting.py文件最开头那块 Debug = False
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
注意:开发模式 Debug=True,使用STATICFILES_DIRS,这个时候Django会
自动去找静态文件的地址
生产模式下使用这个,Debug=False
2、在配置好setting.py以后,还要对项目文件下的 url.py 进行设置,
加上下面这个,注意不要加错位置,
setting.py 与 urls.py 是在同一个文件下
from django.views.static import serve
url(r'^staticfiles/(?P<path>.*)$',serve, {'document_root': settings.STATIC_ROOT}),
注意:生产模式 Debug=False,Django不会找静态文件的位置
如果使用,请在项目文件下的终端输入 python3 manage.py collectstatic
项目下,所有的静态文件都会合并在 STATIC_ROOT 下的 staticfiles 里面
{% load static %}
# 这里的static,其实就是 STATIC_URL,我这qrcode_img,是视图函数render来的值
# 我测试了很多遍,最后发现 好像不写{% load static %}也可以,感觉是因为我在settings里面的urls,写了url(r'^staticfiles/(?P<path>.*)$',serve, {'document_root': settings.STATIC_ROOT}),这个缘故,这个是在Debug=False环境下!!!
<img src="{% static qrcode_img %}">
<script src="/staticfiles/js/jquery-1.11.3.js"></script>
1、改变settings里面的Debug=False,STATIC_URL = ‘/staticfiles/’,加上STATIC_ROOT = os.path.join(BASE_DIR, ‘staticfiles’)
2、在settings同文件下,有一个urls,里面加上url(r’^staticfiles/(?P
3、模板里面templates就参考上面说的
1、settings里面的Debug=Ture,STATIC_URL = ‘/static/’
然后就没有了,直接可以访问到static静态文件
参考链接
2、https://blog.csdn.net/qq_40923413/article/details/100526091
3、https://blog.csdn.net/lidysun/article/details/83784300
4、https://blog.csdn.net/jackliu16/article/details/78861934
个人万能小记:
settings:
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), )
# STATIC_ROOT = os.path.join(BASE_DIR, 'static') # 生产环境
urls:
from django.views.static import serve
from greentransport import settings # 项目的settings
url(r'^static/(?P<path>.*)$',serve, {'document_root': settings.STATIC_ROOT})
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。