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实现类的静态变量用法实例
May 08 Python
Python实现按学生年龄排序的实际问题详解
Aug 29 Python
python多进程实现进程间通信实例
Nov 24 Python
简述Python2与Python3的不同点
Jan 21 Python
Python魔法方法详解
Feb 13 Python
python日志logging模块使用方法分析
May 23 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
python 实现让字典的value 成为列表
Dec 16 Python
在python shell中运行python文件的实现
Dec 21 Python
python集合能干吗
Jul 19 Python
Python基础之字符串格式化详解
Apr 21 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
php将html转为图片的实现方法
2017/05/19 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
ArrayList类(增强版)
2007/04/04 Javascript
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
详解vue-router基本使用
2017/04/18 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
sealed修饰符是干什么的
2012/10/23 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
个人评价范文分享
2014/01/11 职场文书
二手书店创业计划书
2014/01/16 职场文书
事业单位辞职信范文
2014/01/19 职场文书
装修五一活动策划案
2014/01/23 职场文书
个性婚礼策划方案
2014/05/17 职场文书
运动会开幕式致辞
2015/07/29 职场文书
特种设备安全管理制度
2015/08/06 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js