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执行子进程实现进程间通信的方法
Jun 02 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 Python
Python发展史及网络爬虫
Jun 19 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
Python 从attribute到property详解
Mar 05 Python
Django使用rest_framework写出API
May 21 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
python3 sqlite3限制条件查询的操作
Apr 07 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 Python
Python中requests库的用法详解
Jun 05 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开启安全模式后禁用的函数集合
2011/06/26 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
express 项目分层实践详解
2018/12/10 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
Python创建系统目录的方法
2015/03/11 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python元字符的用法实例解析
2018/01/17 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
协议书范文
2015/01/27 职场文书
2015年幼师工作总结
2015/04/28 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电