`

django 1.3+ 静态资源的访问

 
阅读更多

说明:

       本文django的适用版本是1.3+,在1.4中测试通过.

 

1. setting.py中DEBUG=True时, 在setting.py中做如下设置:

 

import os
STATIC_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir,'webapp/static'))#设置静态资源路径为webapp/static

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = 'http://127.0.0.1:8000/static/'

 目录结构如图:


                  

 

对webapp/static/bottom.jpg的访问路径为:

http://127.0.0.1:8000/static/bottom.jpg

 

2.  setting.py中DEBUG=False时

 

2.1)  在setting.py中做如下设置:

 

import os
STATIC_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir,'webapp/static'))#设置静态资源路径为webapp/static

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = 'http://127.0.0.1:8000/static/'

2.2) 在djnews/djnews/urls.py的最后,加上以下代码 :

 

import djnews.setting 
if djnews.settings.DEBUG is False:
    urlpatterns += patterns('',
        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': djnews.settings.STATIC_ROOT,'show_indexes':True
            }),
    )

 2.3)  对webapp/static/bottom.jpg的访问路径依然为:

http://127.0.0.1:8000/static/bottom.jpg

document_root指定静态资源的路径,可以是文件系统的绝对路径,也可以是在djnews.setting文件中设置的路径STATIC_ROOT;show_indexes设置为True,那么访问"http://127.0.0.1:8000/static/"这个路径时,将会列出静态资源文件夹下的所有文件和文件夹.

2.4) 在模板文件中对静态资源的访问如下:

{% load static %}
{% get_static_prefix as STATIC_PREFIX %}






<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>新闻中心</title>
    <link href="{{ STATIC_PREFIX }}





css/css.css" rel="stylesheet" type="text/css"/>
</head>
<body class="common_cool">
    <div class="lehuo_x_footer" id="frag30097">
        <div>Copyright &copy;2012 appbox </div>
    </div>
</body>
</html>

 此外还有几个访问静态资源的标签请参考官方文档关于静态资源访问的说明,参考地址:

  get_static_prefix标签

  STATIC_URL标签

 

  • 大小: 33.6 KB
分享到:
评论

相关推荐

    django 1.3 离线文档

    ### Django 1.3离线文档知识点概览 #### 一、获取帮助 当你在使用Django时遇到问题,可以通过以下几种方式寻求帮助: - **查看FAQ**:它包含了对许多常见问题的回答。 - **使用索引**:通过通用索引、模块索引或...

    Djang中静态文件配置方法

    `ADMIN_MEDIA_PREFIX`是Django管理后台静态资源的URL前缀,它应设置为`STATIC_URL`加上'admin/',确保admin应用的静态文件能够被正确找到: ```python ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/' ``` **开发环境...

    django tutorial

    回顾本节内容,我们学习了如何在 Django 项目中管理静态文件、在模板中引用静态资源以及使用模板包含来减少重复代码。 #### 五、其他泛型视图 ##### 5.1 编辑视图 除了基本的列表视图外,还可以使用泛型视图来...

    django1.11英文手册

    这部分介绍了如何定制管理站点的外观和行为、如何添加自定义视图以及如何利用 Django 的权限系统来控制访问权限等内容。 ##### 1.10 安全性 安全性是任何 Web 应用都必须重视的问题。Django 在设计之初就将安全性...

    Python django开发

    - **静态文件**:通常指的是JS、CSS和图片等资源文件,这些文件不会被Django处理,而是直接返回给客户端。 - **媒体文件**:指的是用户上传的文件,如图片、文档等。 静态文件和媒体文件都可以通过`STATIC_URL`和`...

    Python中Django框架下的staticfiles使用简介

    在Python的Django框架中,`staticfiles`是一个专门用于管理应用程序中静态资源的模块,它简化了在开发和部署过程中处理CSS、JavaScript、图片等静态文件的过程。自Django 1.3版本开始,`staticfiles`作为内置应用被...

    基于python+Django的中学地理—中国的江河湖泊教学网源码数据库论文.docx

    例如,使用缓存技术提高页面加载速度,通过HTTPS保障数据传输的安全性,利用CDN加速静态资源的访问。 5 结论 基于Python+Django的中学地理—中国的江河湖泊教学网的设计与实现,将有效地推动地理教学的现代化进程...

    django_v1.8.pdf

    - **静态文件管理**: 提供了静态文件收集工具,方便管理和发布静态资源。 - **数据库优化**: 介绍了一些提高数据库性能的方法和技术。 **1.12 Python 兼容性** - **版本支持**: Django v1.8 支持 Python 2.7 和 ...

    Python简单食品订购系统使用Django框架源代码.zip

    10. **静态文件与媒体文件(Static Files & Media Files)**:Django可以方便地管理项目的静态资源,如CSS、JavaScript和图片。媒体文件通常指的是用户上传的文件,如用户头像或商家上传的菜品图片,需要特别的处理...

    在Python的Django框架中simple-todo工具的简单使用

    2. **Django**:确保已安装Django版本1.3及以上版本。 3. **数据库**:本示例中我们将使用SQLite数据库作为后端存储。 #### 四、搭建与配置 1. **初始化项目** 使用Django的命令行工具来初始化一个新的项目和...

    nginx配置优化+负载均衡+动静分离详解

    动静分离是一种常见的优化技术,它将静态资源(如图片、CSS、JavaScript等)与动态内容(如数据库查询结果)分开处理。这样做可以减轻后端服务器的压力,并利用Nginx高效处理静态文件的能力。 ##### 3.1 静态资源...

    从无到有搭建中小型互联网公司后台服务架构与运维架构 无密

    - **前端页面渲染层**:使用 Nginx 作为反向代理服务器,实现动静分离并优化静态资源加载速度; - **API 接口层**:基于 Node.js + Express.js 构建 RESTful API 服务,负责处理客户端请求并调用相应的业务逻辑模块...

    web 开发课件使用,入门,提高

    - 使用CDN(内容分发网络):加速静态资源的访问。 - 缓存策略:利用浏览器缓存,降低服务器压力。 10. **安全实践** - HTTPS:加密通信,保护用户数据安全。 - 输入验证:防止XSS(跨站脚本攻击)和CSRF(跨站...

    基于python和Flask的博客网站设计与实现.docx

    通过权限管理,如Flask-Principal,限制不同角色(如普通用户、管理员)对资源的访问权限。 **第六章 系统测试与优化** 6.1 单元测试与集成测试 编写测试用例,确保代码的正确性和健壮性,使用如pytest等测试框架...

    Repoze.BFG 技术手册

    - **myproject/static/**:静态资源文件夹,存放CSS、JavaScript等文件。 - **tests/**:测试文件夹,存放单元测试和集成测试代码。 - **setup.py**:项目元数据和安装脚本。 - **development.ini**:开发环境配置...

Global site tag (gtag.js) - Google Analytics