引言

本方法适用于linux+python2.7+django1.2,使用django自带的web服务。

同样也适用于sina app engine。

1、准备工作

准备css文件,准备js文件,准备image文件。

在网站根目录新建目录【medias】,在【medias】目录新建目录【styles】,用来存放css文件。

2、配置对于静态文件访问的路径

2.1、在settings.py文件中添加静态文件的目录

假设mysite是网站的根目录,medias是刚才我们新建的目录

1
2
3
4
5
6
7
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    'mysite/medias'
    
)

2.2、在urls.py文件中添加如下路由规则

1
2
3
4
5
6
7
urlpatterns=patterns('',
 
    (r'^site_medias/(?P<path>.*)$','django.views.static.serve',
        {'document_root':mysite.settings.STATICFILES_DIRS, 'show_indexes': True}),
     
     
)

将对于site_medias目录及其子目录的文件的请求,映射到settings.py文件设置的STATICFILES_DIRS中指定的路径。并且使用了show_indexes参数,参数设置为True之后,表明可以通过浏览器,浏览medias目录的资源,包括浏览文件夹及其文件。浏览地址是http://localhost:8080/site_medias/,假设服务使用端口是8080,在设置了上面的选项之后,应该可以通过该地址浏览文件夹及文件。

3、使用静态文件

3.1、在template文件中引用css文件

在base.html文件的head标记中添加下面的css引用。

1
<link href="/site_medias/styles/site.css" rel="stylesheet" type="text/css">

3.2、在普通html文件中引用css文件

也是直接在html文件的head标记中添加下面的内容。

1
<link href="/site_medias/styles/site.css" rel="stylesheet" type="text/css">

总结

完成上面的工作之后,css就应该开始起作用了。对于图片和js的引用也是类似的做法。

在django的官网有两个链接讲到了相关的内容,详细情况大家可以点击查看。

https://docs.djangoproject.com/en/1.2/howto/static-files/

上面这个链接的主题是:How to serve static files,也就是如何使用静态文件(包括css,js脚本,图片等等)。里面讲到了,可以使用上面的办法使用静态文件,但是django主要是用来处理动态文件的,上面的办法不高效,并且不安全,所以是不推荐的。在开发环境用一下还可以,但是生产环境,推荐使用专业的web服务来提供静态文件的处理。专业的web服务包括:appache、lighttpd、cherokee等等。结合这些专业web服务的用户,在文章中也有链接。

https://docs.djangoproject.com/en/dev/howto/static-files/

上面的链接就是将如何使用django来处理静态文件,一些处理的细节,包括配置啊、引用啊什么呢的。

使用Django来处理对于静态文件的请求的更多相关文章

  1. 擦他丫的,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了!

    擦 ,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了! 问题在于我使用的谷歌浏览器,默认使用了缓存,导致每次访问同一个url时,都返回的是缓存里面的东西.通过谷歌 ...

  2. Django 2.0 学习(13):Django模板继承和静态文件

    Django模板继承和静态文件 模板继承(extend) Django模板引擎中最强大也是最复杂的部分就是模板继承了,模板继承可以让我们创建一个基本的"骨架"模板,它可以包含网页中 ...

  3. Django整理(三) - 配置文件&静态文件

    项目常用配置 在项目的 setting.py 配置文件中,进行项目相关配置的修改. 1. BASE_DIR 当前项目的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路 ...

  4. Python19/1/11--标签与过滤器/Django模块导入继承/静态文件配置

      1 模板语言之变量: -{{ }} 相当于执行了print -深度查询 . 如果是方法,不能加括号,不能传参数2 过滤器 {{ 变量|过滤器的名字:'参数' }} -add -default -s ...

  5. Django积木块三——静态文件和上传文件

    静态文件和上传的文件 # 静态文件 STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) # ...

  6. django中url,静态文件,POST请求的配置 分类: Python 2015-06-01 17:00 789人阅读 评论(0) 收藏

    平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面 ...

  7. django模板层之静态文件引入优化

    1.新手使用 我们一般在初学django的情况下,引入django的静态文件一般有如下两种方式: 通过路径引用: <script type="text/javascript" ...

  8. django:访问本地静态文件的配置

    1.在setting.py中新增如下配置,static为静态文件的目录,BASE_DIR为项目根目录 STATIC_URL = '/static/' STATIC_ROOT = os.path.joi ...

  9. [Python] Django框架入门5——静态文件、中间件、上传图片和分页

    说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文 ...

随机推荐

  1. 【前端】h5音乐播放demo 可关闭可播放

    复制如下代码,直接可预览(记得把超链接换成自己本地路径) <!DOCTYPE html> <html> <head> <meta charset=" ...

  2. Vue项目之IE下打开页面是空白

    原因是:Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API ,比如 Iterator.Generator.Set.Maps.Proxy.Reflect.Sym ...

  3. robotframework-ride多次运行,有时候不显示日志信息

    解决方法: 修改"C:\Python27\lib\site-packages\robotide\contrib\testrunner\testrunner.py"文件pop方法中  ...

  4. java基础74 XML解析中的SAX解析相关知识点(网页知识)

    1.SAX解析工具 SAX解析工具:是Sun公司提供的,内置JDK中.org.xml.sax.*         点击查看: DOM解析相关知识:以及DOM和SAX解析的原理(区别) 2.SAX解析的 ...

  5. java基础35 双例集合Map及其常用方法

    单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合 ...

  6. git —— 远程仓库(创建)

    一.SSH设置 1.创建SSH Key 在用户主目录下,看看有没有.ssh目录, 如果有,再看看这个目录下 有没有id_rsa和id_rsa.pub这两个文件, 如果已经有了,可直接 跳到下一步. 如 ...

  7. thinkphp5 IIS7.5 隐藏index.php的方法

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.we ...

  8. GreenPlum学习笔记:date_part与extract提取日期时间、时间差

    GP可以使用date_part / extract从日期时间类型中抽取部分内容. 方法一:extract 格式:extract(field from source)  extract函数从日期.时间数 ...

  9. 使用celery时要注意的任务调用形式

    因为之前,一直用django和celery紧密集成,不分家. 所以使用时参考了网上的配置之后,没有变更过. 最近,和洪军想用k8s的pod重新规划系统构架时,这个问题才又浮了出来. 只是我们的task ...

  10. 1975: [Sdoi2010]魔法猪学院

    k短路,只会写A*的飘过..priority_queue超空间差评!