Django静态资源URL STATIC_ROOT的配置方法


Posted in Python onNovember 08, 2014

缘由

新手学习 Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面使用这些资源并不是直接引用一下就好,还要配置路径即 STATIC_URL 如果这个配置不好的话,请求这些静态资源将返回 HTTP 404 。

经验传授

1. 输出 settings.py 文件里面的 STATIC_URL 到HTML页面,看一下物理路径指向了哪些,通常是不是跑出根目录的。这里给个DEMO:

def home(request):

    t = get_template("index.html")

    html = t.render(Context({

        "template_dir":settings.TEMPLATE_DIRS[0],

        "title":"Home",

        "static_dir":settings.STATIC_ROOT}))

    return HttpResponse(html)

这样访问的HTML页面就可以看到这些路径了。

2. 配置 STATIC_ROOT 变量

STATIC_ROOT = os.path.join(os.path.dirname(__file__), '..', 'templates/content').replace('\\','/')

可能通过调整第二个和第三个参数来将路径修改正确。(多调试)

3. 在 urls.py 文件中配置 urlpatterns 变量(主要看高亮这一行):

urlpatterns = patterns('',

    url(r'^$', home),

    url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),

)

4. 测试以上配置:

<head>

    <meta charset="UTF-8"/>

    <title>{{ title }} - Oger</title>

    <script type="text/javascript" src="/static/scripts/jquery-1.11.0.min.js"></script>

</head>

<head>
    <meta charset="UTF-8"/>
    <title>{{ title }} - Oger</title>
    {% load staticfiles %}
    <script type="text/javascript" src="{% static 'scripts/jquery-1.11.0.min.js' %}"></script>
</head>
[/code]

这两种用法都是可以的。

用 Django 开发Web站点还是很方便的。继续学习中...

Python 相关文章推荐
python socket 超时设置 errno 10054
Jul 01 Python
Python之PyUnit单元测试实例
Oct 11 Python
python执行子进程实现进程间通信的方法
Jun 02 Python
Python中列表list以及list与数组array的相互转换实现方法
Sep 22 Python
python3 读写文件换行符的方法
Apr 09 Python
Python中的TCP socket写法示例
May 11 Python
Django  ORM 练习题及答案
Jul 19 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
Matplotlib 折线图plot()所有用法详解
Jul 28 Python
Python通过Schema实现数据验证方式
Nov 12 Python
Python中的__new__与__init__魔术方法理解笔记
Nov 08 #Python
Python使用百度API上传文件到百度网盘代码分享
Nov 08 #Python
python中readline判断文件读取结束的方法
Nov 08 #Python
Python实现基于HTTP文件传输实例
Nov 08 #Python
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 #Python
Python set集合类型操作总结
Nov 07 #Python
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 #Python
You might like
php扩展ZF――Validate扩展
2008/01/10 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
AngularJS基础知识
2014/12/21 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
Python写的贪吃蛇游戏例子
2014/06/16 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
python selenium 获取接口数据的实现
2020/12/07 Python
现代化办公人员工作的自我评价
2013/10/16 职场文书
九年级科学教学反思
2014/01/29 职场文书
研究生个人学年总结
2015/02/14 职场文书
家长高考寄语
2015/02/27 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
红歌会主持词
2015/07/02 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书