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

yipeiwu_com5年前Python基础

缘由

  新手学习 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参数的知识点

python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参” 调用时小括号中的参数,用来传递给函数用的,称为 “实参”。 1、思考一个问题,如下: 现在需要定义一个函数,这...

python批量生成本地ip地址的方法

本文实例讲述了python批量生成本地ip地址的方法。分享给大家供大家参考。具体分析如下: 这段代码用于在本地计算机上生成本地ip地址绑定到网卡,生成的是一个bat的批处理文件,运行此批...

python实现抽奖小程序

本文实例为大家分享了python实现抽奖小程序的具体代码,供大家参考,具体内容如下 设计一个抽奖服务  背景:有x个奖品,要求在y天内发完;每天至少发放z个奖品;每天抽奖人数...

python粘包问题及socket套接字编程详解

粘包问题 TCP协议在传输过程中会出现数据粘包问题 讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议 TCP:适合传输数量大 ,需...

Python3实现mysql连接和数据框的形成(实例代码)

Python3实现mysql连接和数据框的形成,具体代码如下所示: # -*- coding:utf-8 -*- # __author__ = "LQ" import pymysql...