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 matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
Aug 02 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
pytorch GAN伪造手写体mnist数据集方式
Jan 10 Python
python异常处理try except过程解析
Feb 03 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
Django查询优化及ajax编码格式原理解析
Mar 25 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
第十四节--命名空间
2006/11/16 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
Python自动重试HTTP连接装饰器
2015/04/28 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
会计专业自我鉴定范文
2013/12/29 职场文书
大学生学习党课思想汇报
2014/01/03 职场文书
高一家长会邀请函
2014/01/12 职场文书
实习协议书
2015/01/27 职场文书