`
touchinsert
  • 浏览: 1291112 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用Django来处理对于静态文件的请求

 
阅读更多

引言

本方法适用于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是刚才我们新建的目录

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文件中添加如下路由规则

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引用。

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

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

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

<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压缩静态文件的实现方法详析

    django静态文件配置原理 静态文件配置就是为了让用户请求时django服务器能找到静态文件返回。 首先要理解几个概念: 媒体文件:用户上传的文件 静态文件:css,js,image等 开发环境:使用django内置服务器处理...

    Django处理Ajax发送的Get请求代码详解

    Django处理Ajax发送的Get...使用PyCharm打开上一步创建的工程,在工程同名文件夹的settings.py文件,修改部分代码,注册应用,配置模板路径、静态文件路径,修改部分的settings.py内容如下: INSTALLED_APPS = [ 'dj

    Django 静态文件配置过程详解

    静态文件交由Web服务器处理,Django本身不处理静态文件。简单的处理逻辑如下(以nginx为例): URI请求 –&gt; 按照Web服务器里面的配置规则先处理,以nginx为例,主要求配置在nginx.conf里的location –&gt; 如果是静态...

    django-static-precompile:django 的静态文件预编译器

    django 中已经有很多对静态文件的压缩和预编译的支持,即 django-compresser,但它们只有在 django 模板中使用一些自定义标签时才有效。 由于缓存管理,每次呈现模板时都会导致一些时间开销,并且此问题仍然存在于...

    Djang中静态文件配置方法

    一、django静态文件配置原理 静态文件配置就是为了让用户请求时django服务器能找到静态文件返回。 首先要理解几个概念: 媒体文件:用户上传的文件 静态文件:css,js,image等 开发环境:使用django内置服务器处理...

    Django+Nginx+UWSGI+virtualenv项目部署

    nginx作为最前端的服务器,他负责接收所有的客户端请求,对于请求的静态文件,由nginx服务器自己完成,因为它具有很好处理静态文件的能力,性能进行过优化,支持高并发量;uWSGI服务器作为支持服务器,是用来服务...

    Python基于Django框架图书管理系统(源码+数据库+前端+文档)

    基于Django框架的图书管理系统是一个...7. 静态文件处理:配置Django的静态文件路径,存放系统所需的CSS、JavaScript、图片等静态文件。 8. 优化和测试:对系统进行优化,确保系统的性能和安全性。同时进行系统测试

    django框架课件.zip

    django初学,关于wed端的介绍,工程搭建,配置静态文件,http请求与响应,模板应用,数据库应用等等初学介绍

    django-docs-2.2-zh-hans.zip

    入门教程: 第1节: 请求和响应 | 第2节: 模型和 admin 站点 | 第3节: 视图和模板 | 第4节: 表单和通用视图 | 第5节: 测试 | 第6节: 静态文件 | 第7节: 自定义 admin 站点 进阶教程 : 如何编写可复用的应用 | 提交你的...

    django-hosts:Django的动态和静态主机解析。 将主机名映射到URLconf

    这个Django应用将特定主机的请求路由到在称为“ hostconfs”的模块中定义的不同URL方案。 例如,如果您拥有example.com但希望在api.example.com和beta.example.com上提供特定内容, api.example.com以下内容添加到...

    python毕业设计-基于Django的歌曲推荐系统和论坛源码+文档说明.zip

    media/ 静态文件存放处,图片 movie/ Django的默认app,负责设置的配置还有url路由,部署等功能 static/ css文件和js文件的存放处 user/ 主app,程序的所有代码基本都在这下面 user/migrations为自动生成的数据库迁移...

    django4.1中文手册

    入门教程: 第 1 节:请求和响应 | 第 2 节:模型和管理站点 | 第 3 节:视图和模板 | 第 4 节:表单和通用视图 | 第 5 节:测试 | 第 6 节:静态文件 | 第 7 节:自定义管理站点 进阶教程: 如何编写可复用的应用 |...

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

    Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面使用这些资源并不是直接引用一下就好,还要配置路径即 STATIC_URL 如果这个配置不好的话,请求这些静态资源将...

    使用Nginx+uWsgi实现Python的Django框架站点动静分离

    Django处理静态文件不太友好; 以后有可能需要处理php或者其他资源的请求; 所以考虑结合nginx,使用nignx做它擅长的路由分发功能;同时做动静分离,即Http请求统一由Nginx进行分发,静态文件由Nginx处理,并返回给...

    django-master.tar.gz

    Django官网下载的工具包。:第1部分:请求和响应&lt;intro/tutorial01&gt;`| 第2部分:模型和管理站点&lt;intro/tutorial02&gt;`| 第3部分:视图和模板... 第6部分:静态文件&lt;intro/tutorial06&gt;`| :Part 7:自定义管理站点

    ForceSales:使用Django 3和PostgreSQL构建CRM

    ForceSales使用Django 3作为后端来管理所有内容-路由,身份验证,静态文件等。 DB-部署的项目使用PostgreSQL作为主要数据库。 前端 ForceSales使用作为CSS前端框架。 该项目使用CDN而不是静态npm软件包。 该项目还...

    基于Django,keras,axios, echats的智能股票分析系统源码+文档(集成LSTM的实践序列预测算法).zip

    您可以在这里指定数据库配置,静态文件路径,安装的应用程序列表等等。 &gt; - forms.py:此文件包含Django应用程序的表单类。表单类用于验证用户提交的数据,并将其转换为模型实例。 &gt; &gt; - manage.py:此文件是Django...

    learn_django:这是一个基于Django框架的功能博客

    静态文件操作(CSS,JS,图像文件) 通过POST&GET验证并发送表单。 分页(后端和前端) 使用Django发出Ajax请求 在Django框架内映射您的URL 国际化 职位创建和计划 通过SMTP发送电子邮件 创建和执行单元测试 ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    Django获取多个数据以及文件上传 Django的CBV和FBV Django模板语言循环字典 Django基于正则表达式的URL Django对应的路由名称 Django路由分发 DjangoORM基本创建基本类型以及生成数据库结构 DjangoORM使用mysql注意 ...

Global site tag (gtag.js) - Google Analytics