Django_静态资源配置
来源:互联网 发布:国外聊天软件 编辑:程序博客网 时间:2024/06/06 01:05
今天我们来配置一下Python下Django里的静态资源
开发环境即设DEBUG=True
1. 确保INSTALLED_APPS安装了django.contrib.staticfiles模块2. 定义STATIC_URL:如
STATIC_URL = '/static/'3. 在模板中访问可以有三种方式:直接硬编码像/static/×××.jpg这样,或是使用static标签,如
{% load staticfiles %} <img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>,
我常使用{{STATIC_URL}}×××.jpg 来写静态路径的(必须使用RequestContext进行渲染,否则无法引用STATIC_URL的值)。
4. 在/static/目录下存放静态文件。总结起来,基本配置就是这四点。
但是,其中有个问题,/static/指定的是哪个目录。
静态资源将利用STATICFILES_FINDERS指定的搜索器搜索路径下面的STATIC_URL指定目录。STATICFILES_FINDERS默认依次包含:
*FileSystemFinder:在文件系统里搜索STATICFILES_DIRS指定目录。默认不包含任何目录
*AppDirectoriesFinder:搜索INSTALLED_APPS注册过的应用目录
因此,使用入门级配置的正常情况下就是在project注册app,然后在app目录下存放static目录。
下面情况无法访问静态资源
资源存放在project下的static目录,没有在settings.py中设置STATICFILES_DIRS为(os.path.join(BASE_DIR, “static”)
静态资源的高级配置
不使用django.contrib.staticfiles模块时,可以利用django.views.static.serve提供静态资源。用法简单,只要在urls.py使用下面的代码:
from django.conf.urls import url,includefrom django.contrib import adminfrom django.conf.urls.static import staticfrom django.conf import settingsurlpatterns = [ #。。。。。。]+ static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT) #重点
STATIC_URL = '/static/'STATICFILES_DIRS =( os.path.join(BASE_DIR,'static'))
访问时http://localhost:8000/statics/*.img。代码会查找statics资源前缀,截取后面的路径如*.img再与STATIC_ROOT路径拼接,进而访问资源文件。
应学会灵活使用static(prefix, view=serve, ××kwargs),上面使用了STATIC_URL和STATIC_ROOT,但要意识到只要参数正确,传什么都可以。这种静态资源的使用方式简单粗暴,即使不是开发环境也能适用哦。唯一缺点不适合商用。
阅读全文
0 0
- Django_静态资源配置
- django_
- Django静态资源配置
- django 静态资源配置详解
- spring mvc 静态资源配置
- springboot 静态资源配置
- SpringMVC静态资源配置
- springmvc 的静态资源配置
- springmvc静态资源配置
- SSM中静态资源配置
- Springmvc静态资源配置
- SpringMVC静态资源配置
- Vue-cli 静态资源配置问题
- 资源配置
- Tomcat中SpringMVC的静态资源配置
- springboot-静态资源配置(自定义容器)
- django连接数据库和静态资源配置
- django_搭建
- 在JAVA中线程到底起到什么作用!
- UVA
- Github 创建仓库并上传项目
- 第十一周java作业
- 什么是 web 框架?
- Django_静态资源配置
- PIO读取excel文档,java实现
- sshpass 应用
- SQL的IO阻塞者的查询
- 串的模式匹配-KMP算法
- python Excel追加数据
- osi参考模型七个层次及功能
- GBDT算法整理
- 如何在网页里嵌入PPT