django1.10使用本地静态文件方法

本文介绍的静态文件使用,是指启动web站点后,访问静态资源的用法,实际静态资源地址就是一个个的url
如果没有启动web站点,只是本地调试html页面,那直接用相对路径访问资源即可
 
1.settings.py中加入下面两句话(应该是默认的,不需要增加)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
 
说明:
1.STATIC_URL为访问静态资源的链接,比如127.0.0.1/static/文件
2.STATIC_ROOT为访问静态资源文件的目录,BASE_DIR为根目录,可以打印一下看看。然后后面跟的是具体的子目录
比如我用的是根目录下的webManage/static目录
STATIC_ROOT = os.path.join(BASE_DIR, 'webManage/static')
 
2.配置urls.py文件
from django.views import static
from 工程目录 import settings url(r'^static/(?P<path>.*)$', static.serve, {'document_root':settings.STATIC_ROOT}, name='static'),
 
3.访问静态资源
静态资源链接:根据STATIC_URL定义的值作为前缀,后面跟具体文件名
静态文件放置位置:STATIC_ROOT下的文件夹内
 
比如我文件放在了STATIC_ROOT/js/pie.js下,我可以像下面这样调用pie.js文件
<script src="/static/js/pie.js"></script>

遇到的问题

问题1:
django 1.10 urls.py配置static静态文件的链接
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}, name='static'),
报错:raise TypeError('view must be a callable or a list/tuple in the case of include().')
 
解决方法:
改成下面的 格式
from django.views import static
from 工程目录 import settings
url(r'^static/(?P<path>.*)$', static.serve, {'document_root':settings.STATIC_ROOT}, name='static'),
 
原因:django 1.10 url的格式变了,需要引入view对象,然后调用view对象中的方法,不能直接用字符串的形式了
 
参考文档:
 
 
问题2:
访问静态文件时,报下面的错误
django.core.exceptions.ImproperlyConfigured: The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting
 
解决方法:
修改settings.py文件,将STATICFILES_DIRS中包含的STATIC_ROOT的路径删除掉
 
比如我的STATICFILES_DIRS原来包含了../webManage/static/,而我实际上是用这个地址作为我的静态资源文件地址
STATICFILES_DIRS = (
# 动态的获取static文件的路径,注释掉STATIC_ROOT的路径
# os.path.join(os.path.dirname(__file__), '../webManage/static/').replace('\\', '/'),
os.path.join(os.path.dirname(__file__), '../static/').replace('\\', '/'),
os.path.join(os.path.dirname(__file__), '../static/js/').replace('\\', '/'),
)

django1.10使用本地静态文件的更多相关文章

  1. nodejs anywhere 搭建本地静态文件服务

    一.背景 工作中有时候往往会遇到下述场景:例如需要将新打好的安装包等文件临时性的给到同事,可能还需要给到多个同事.这时,我们往往有如下几种方案: 1,一般都会有公司内部的文件系统,上传文件后将对应的地 ...

  2. Django1.11.7配置静态文件

    Django配置静态文件分为三步 1.建文件夹 2.设置setting 3.页面引用 1.文件目录结构 在APP下新建static文件夹,将js和css文件放入文件夹 2.配置settings.py ...

  3. Django1.11加载静态文件

    Django版本1.11网站通常需要js,css,images等文件,在Django中,我们把这些文件称为“静态文件”(static files).Django提供django.contrib.sta ...

  4. django:访问本地静态文件的配置

    1.在setting.py中新增如下配置,static为静态文件的目录,BASE_DIR为项目根目录 STATIC_URL = '/static/' STATIC_ROOT = os.path.joi ...

  5. 关于django1.8版本的静态文件配置

    环境:Python3.5.4,django1.8.1. 在页面使用js时,总是提示404找不到js文件. 于是,看看了settings文件 好像也没什么毛病.导入的方式也换了很多种,总是不行,于是只好 ...

  6. springboot访问服务器本地静态文件的方法

    一.继承WebMvcConfigurerAdapter,重写addResourceHandlers,在registry里面配置访问路径和映射到的服务器本地路径. import org.springfr ...

  7. Nginx 静态文件服务

    Nginx 静态文件服务 我们先来看看最简单的本地静态文件服务配置示例: server { listen 80; server_name www.test.com; charset utf-8; ro ...

  8. Django本地开发,引用静态文件,火狐浏览器不能访问静态文件,谷歌浏览器却能访问静态文件

    查了一下是settings.py设置问题 # Static files (CSS, JavaScript, Images)# https://docs.djangoproject.com/en/1.1 ...

  9. 管理Django1.9静态文件static

    管理Django1.9静态文件static 网站通常需要增加图片.JavaScript.或者CSS等文件提供服务.在Django中,我们把这些文件称为“静态文件”(static files).Djan ...

随机推荐

  1. Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录

    Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...

  2. sql server无log ldf日志文件附件mdf数据库重新生成ldf日志文件

    CREATE DATABASE TestDB    ON    (    FILENAME ='D:\TestDB.mdf' --路径     ) for ATTACH_REBUILD_LOG    

  3. python学习笔记_week17

    note jQuery http://jquery.cuishifeng.cn/ 模块 <=>类库 DOM/BOM/JavaScript的类库 版本: 1.x 1.12 2.x 3.x 转 ...

  4. Hessian 源码简单分析

    Hessian 是一个rpc框架, 我们需要先写一个服务端, 然后在客户端远程的调用它即可. 服务端: 服务端通常和spring 做集成. 首先写一个接口: public interface Hell ...

  5. Flex学习笔记-皮肤

    1文件结构 MXML应用程序 index.mxml 皮肤文件 components.button.skin.btnSkin1.mxml  皮肤文件的组件随便引用了spark.components.Bu ...

  6. 讲讲亿级PV的负载均衡架构

    引言 本来没想写这个题材的,为了某某童鞋能够更好的茁壮成长,临时写一篇负载均衡的.负载均衡,大家可能听过什么3层负载均衡.4层负载均衡.7层负载均衡什么的?那这是怎么分的呢,ok,是根据osi七层网络 ...

  7. linux之Ubuntu下Django+uWSGI+nginx部署

    http://www.chenxm.cc/post/275.html?segmentfault

  8. jquery接触初级----- 一种新奇的选择器用法

    今天看到一个新奇的jquery 选择器的用法,因为以前没有见过,所以记录下来 1.jquery 选择器: 给body添加一个元素,添加元素的时候,同时把属性和点击事件都一起进行添加 <!DOCT ...

  9. Turn the Rectangles 1008B

    output standard output There are nn rectangles in a row. You can either turn each rectangle by 9090  ...

  10. swarm on ubuntu

    转自:https://www.cnblogs.com/jsonhc/p/7862518.html 由于在centos7系统上使用docker-machine安装的swarm实现服务的负载均衡一直失败, ...