django中的静态文件管理

  一个站点通常需要保存额外的文件,比如图片   css样式文件   js脚本文件 ,在django中,倾向于将这些文件称为 静态文件。django提供了django.contrib.staticfiles 模块来帮助我们方便的管理静态文件。

配置静态文件的两种方式:

  1  配置单独app下的静态文件,比如某个app下的单独的图片。

  2  配置整个project下的静态文件,适用于那些和单独app关联不大的文件,比如jquery  bootstrap  等等

配置步骤:

1  首先,我们需要确认在settings.py文件中的INSTALLED_APPS变量中存在 django.contrib.staticfiles

1 INSTALLED_APPS = (
2     ‘django.contrib.admin‘,
3     ‘django.contrib.auth‘,
4     ‘django.contrib.contenttypes‘,
5     ‘django.contrib.sessions‘,
6     ‘django.contrib.messages‘,
7     ‘django.contrib.staticfiles‘,
8 )

2.1 如果我们要配置单独app下的静态文件的话,执行此步骤。

  在settings.py文件中定义 STATIC_URL 变量。

1 STATIC_URL = ‘/static/‘

2.2  如果我们要配置整个project下的静态文件的话,执行此步骤。

  在settings.py文件中定义 STATICFILES_DIRS 变量

1 STATICFILES_DIRS = (
2     os.path.join(BASE_DIR, "static"), # 首选project静态文件搜寻路径
3     ‘/var/www/static/‘,   # 第二选project静态文件搜寻路径,还可以有第三选,第四选……
4 )

3.1  如果我们要配置单独app下的静态文件的话,执行此步骤。

  这时,我们需要在app中建立一个名为static 的文件夹。

3.2  如果我们要配置整个project下的静态文件的话,执行此步骤。

  我们需要在整个project 中建立一个 名为static的文件夹

4  当我们在模板中无论是使用硬链接 /static/myexample.jpg 还是使用 static 标签  <img src="{% static "myexample.jpg" %}" />  都会先访问app下的static/文件夹下的myexample.jpg 文件,若app下的static文件夹中没有该文件,则访问project中的static/文件夹,查看是否有myexample.jpg文件,若有则返回,若没有则去/var/www/static/中寻找。

  

时间: 2024-12-23 00:04:03

django中的静态文件管理的相关文章

Django中使用静态资源/文件

Django中常需要引用js,css,小图像文件,一般我们把这一类文件称为静态文件,放置在static文件夹中,接下来,对Django中配置静态文件进行下傻瓜式的步骤介绍 在工程目录下新建static文件夹 修改settings.py,添加 STATIC_URL = '/static/' STATIC_ROOT = os.path.abspath(os.path.join(BASE_DIR, '..', 'static')) STATICFILES_DIRS = ( os.path.join(B

在django中访问静态文件(js css img)

刚开始参考的是别的文章,后来参考文章<各种 django 静态文件的配置总结>才看到原来没有但是没有注意到版本,折腾了一晚上,浪费了很多很多时间.后来终于知道搜索django1.7访问静态文件.真是傻×. 环境:python 2.7.3django 1.7.5 django是不善于处理静态文件这种事情的.这样的工作要交给nginx或者apache这样的服务器.但是在调试时还是要配置一下的django 1.7.5配置访问静态文件貌似比其他的版本都要简单一些.只需要如下步骤: 收集静态文件,然后放

Django中的静态文件导入

1. 在django项目的根目录创建名为static的python包,亦可创建在app中 2. 更改项目的settings.py文件 STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) STATIC_URL = '/static/' 中的static为静态文件的绝对路径的别名,与包名static不同,包名可以随便取名.在调用静态文件时,只能用别名. 这样做的好处是,便与后期更改,STAT

Django学习之静态文件

服务器端除了除了通过模板生成的HTML外,网页应用还需要其它文件,比如CSS.JavaScript.图片等等.才能构成一个完整的网页.在Django中我们称其它的这些文件为静态文件. Django的STATICFILE_FINDERS中有一系列的默认查找路径,其中一个查找路径就是在应用目录中查找是否存在static目录,如果存在则在static目录查找需要的文件. 首先,在blog目录下创建一个static的目录.在static目录里面,我们再创建一个blog目录.在blog里面,我们创建一个文

Django 中bootstrap的引用

bootstrap的优越性 如果你有基本的HTML+CSS,bootstrap其实就是在标签中加入具体的class来实现样式.和原生态的HTML+CSS需要先在head标签的style写样式或者引入外部样式相比,bootstrap相当于已经写好了,直接用对应的class引用就可以了. bootstrap的使用 我是在用Django开发的过程中用bootstrap. 1. bootstrap的引用 我使用的bootstrap3,在Django中,引入静态文件非常的简单: Django的设置在set

Django中使用bookstarp框架(4)

Django中使用bookstarp框架(4) 注意:要使用bookstarp框架前,要先有css的基础 因为主要是研究后台的使用方法,就引入前端的框架,简化html上的耗时(主要是不想把时间浪费在前端上-_-) 一.将bookstarp的静态文件配置进Django 1,下载Django并取出css文件 1.1,下载地址URL: https://getbootstrap.com 1.2,基础路径下(与manage.py同目录)创建: static/css文件夹 1.3,进入下载获得的安装包->找

自定义模板方法(类似django中的simple_tag) | Tornado

# 自定义模板方法|相当于django中的simple_tag以及filter: # 1.uimethods.py def tag_one(self): print(self) return 'tags' # 2.uimodules.py from tornado.web import UIModule from tornado import escape class Custom(UIModule): def embedded_css(self): # 页面添加css样式 return 'bo

Django中的ORM 和入门基础

day62  2018-06-12 1. 内容回顾 1. web框架的本质 1. socket 浏览器: socket客户端 服务器: socket服务端 2. HTTP协议:规定了一个收发消息的格式 3. 消息分类 请求(request):浏览器向服务端发送的消息 GET /index/ HTTP/1.1\r\n k1:v1\r\n ...\r\n \r\n 请求体 响应(response): HTTP/1.1 200 OK\r\n k1:v1\r\n ...\r\n \r\n 响应体   

Django 框架篇(九): Django中的Form 组件

Django中的Form组件,帮我们处理了 form表单中的校验, 和错误提示的处理: 主要功能: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 使用form组件实现注册功能 1.  定义一个类, 继承django中的 forms.Form 代码实例: from django import forms # 按照Django form组件的要求自己写一个类 class RegForm(forms.Form): name = forms.CharField(label="用