广告
返回顶部
首页 > 资讯 > 后端开发 > Python >分离django中的媒体文件,静态文件
  • 765
分享到

分离django中的媒体文件,静态文件

静态媒体文件文件 2023-01-31 08:01:57 765人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

前言 文章会在GitHub中持续更新 作者: knthony github 联系我 Django项目中,占很大体积的是静态文件,媒体文件还有html代码,那我们该如何把它们分离出来以方便我们和服务器去管理和使用它们。 static

前言

文章会在GitHub中持续更新

作者: knthony

github

联系我

Django项目中,占很大体积的是静态文件,媒体文件还有html代码,那我们该如何把它们分离出来以方便我们和服务器去管理和使用它们。

static 文件

static,顾名思义就是静态文件,djanGo自带了一个命令讲项目中所有的静态文件提取出来
python3 manage.py collectstatic

我习惯将这些可以从外部引入的文件放在项目的根目录下

DemoProject
--DemoProject
--DemoApp
--static
--manage.py

是的,就是它,我喜欢的位置。
不过在此之前,我们需要在项目的setting.py中去设置提取文件所要存储的位置STATIC_ROOT

STATIC_ROOT = os.path.join(BASE_DIR, "static")

那这样,我们运行完上面的命令就会发现我们的项目结构中会多一个static文件
然后配置DemoProject下的url,添加

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf.urls.static import static
from django.conf import settings


urlpatterns = [
    url(r'^admin/', admin.site.urls),
]


if settings.DEBUG or True:
    urlpatterns += staticfiles_urlpatterns()

当然这个if判断是在debug为true的时候支持这样的访问,那如果在真实生产环境中需要修改遮盖判断
不过到这里还没有结束,为了方便的引用我们需要在setting.py中添加

STATICFILES_DIRS = [
    ('bootstrap',os.path.join(BASE_DIR, 'static/bootstrap').replace('\\','/')),
]

注意这种方式在html中可以直接以如下方式访问

<link rel="stylesheet" href="{% static "bootstrap/CSS/bootstrap.min.css" %}">

注意要在第一行加上{% load staticfiles %}

media文件

网站上总是会有音乐视频或者图片等体积比较大的文件,那我们将这些也从django项目中分离出来并进行调用
首先我们在和static同目录下新建一个media文件夹,在media中新建一个image作为我们存放图片的文件夹
结构如下:

DemoProject
--DemoProject
--DemoApp
--static
--media
---image
--manage.py

第一步:在setting.py最后添加

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")

第二部:在urls.py
urlpatterns += staticfiles_urlpatterns()
下面添加
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

说出来你可能不信,这样就ok了

<img src="/media/image/test.png" alt="">

这样就可以访问我们的media/image下的图片或者视频了

templates

如果我们想把项目中的网页代码文件归类分离出来
第一步:


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'templates').replace('\\','/'),
        ],
        'APP_DIRS': True,
        'OPTioNS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

在上面代码的DIRS中添加你网页代码的路径,如果也想和我一样放在根路径下可以和我一样

os.path.join(BASE_DIR, 'templates').replace('\\','/'),

这是最近写django项目总结的一点点,第一次写文章,大牛勿喷,感谢大牛能指出文中的缺漏和错误

--结束END--

本文标题: 分离django中的媒体文件,静态文件

本文链接: https://www.lsjlt.com/news/193117.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 分离django中的媒体文件,静态文件
    前言 文章会在github中持续更新 作者: knthony github 联系我 django项目中,占很大体积的是静态文件,媒体文件还有html代码,那我们该如何把它们分离出来以方便我们和服务器去管理和使用它们。 static...
    99+
    2023-01-31
    静态 媒体文件 文件
  • Django中静态文件与模板的示例分析
    这篇文章主要介绍了Django中静态文件与模板的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。模板之前我们的视图函数test使用了HttpResponse返回一个字符...
    99+
    2023-06-29
  • Django中怎么处理静态文件
    本篇文章为大家展示了Django中怎么处理静态文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.Django 对css静态文件的处理我们先来看Django 对css静态文件是怎么处理的,一起来实...
    99+
    2023-06-02
  • 在Django中如何设置静态文件
    在Django中设置静态文件需要进行以下步骤:1. 在你的项目的根目录下创建一个名为`static`的文件夹。这个文件夹将用来存放你...
    99+
    2023-10-09
    Django
  • Django 项目中添加静态文件夹
    在 mysite 文件夹下添加一个 statics 文件夹用来存放 js 文件 在 index.html 文件中添加 <!DOCTYPE html> <html lang="en"> <head> ...
    99+
    2023-01-31
    静态 文件夹 项目
  • Django动态怎么设置静态文件路径
    本篇内容主要讲解“Django动态怎么设置静态文件路径”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django动态怎么设置静态文件路径”吧!前言Django项目需要在settings.py文件...
    99+
    2023-06-29
  • ASP.NET Core中的静态文件
    目录1.前言2.设置静态文件目录2.1 设置默认静态文件目录2.2 设置访问Web根目录外的文件3.设置HTTP响应标头4.静态文件授权5.启用目录浏览6.设置静态文件默认文档6.1...
    99+
    2022-11-13
  • Django零基础入门之静态文件的引用
    目录效果展示:1.静态文件引用:(1)创建静态文件目录:(2)静态文件路径的配置:(3)创建三大静态文件:(4)静态文件的引用:引言: 在我们Django中如何引用三大静态文件(Ja...
    99+
    2022-11-12
  • Django学习之静态文件与模板详解
    目录前言模板存放目录模板调用模板语法数据传递元素引用 for语句 if语句静态文件存放目录文件调用总结前言 我们已经配置完Django,今天就来学学静态文件与模板...
    99+
    2022-11-13
  • ASP.NETCore中的静态文件介绍
    静态文件(HTML,CSS,图片和Javascript之类的资源)会被ASP.NET Core应用直接提供给客户端。 静态文件通常位于网站根目录(web root) <cont...
    99+
    2022-11-13
  • Django项目中动态设置静态文件路径的全过程
    目录前言一、修改BASE_DIR:二、修改模板文件路径(TEMPLATES中的DIRS的值):三、修改国际化文件路径,由于LOCALE_PATHS默认不存在,需要自己在合适位置添加,...
    99+
    2022-11-13
  • Flask中提供静态文件的实例分析
    Flask中提供静态文件的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、可以使用send_from_directory从目录发送文件,这在某些情况下...
    99+
    2023-06-22
  • django静态文件加载不出来如何解决
    如果Django的静态文件加载不出来,可以按照以下步骤进行排查和解决:1. 确保在Django项目的settings.py文件中正确...
    99+
    2023-10-09
    django
  • python django 访问静态文件出现404或500错误
    django static文件夹下面的内容方法不了 出现404 500错误 需要查看自己的settings文件确保有一下内容 import os PROJECT_ROOT = os.path.dirna...
    99+
    2022-06-04
    静态 错误 文件
  • asp.net中怎么利用Ajax实现文本文件静态分页
    asp.net中怎么利用Ajax实现文本文件静态分页,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 服务端部...
    99+
    2022-10-19
  • Nginx中怎么配置静态文件
    本篇文章为大家展示了Nginx中怎么配置静态文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。###################################...
    99+
    2022-10-19
  • Django设置 DEBUG=False后静态文件无法加载解决
    前段时间调试一直是在Debug=True先运行的,没有什么问题。今天关闭了Debug后,出现了一个问题。就是静态文件找不到了,「img、css、js」都提示404,无法准确的访问 static 静态文件。环境是:Pyth...
    99+
    2023-01-31
    静态 加载 文件
  • .NetCore静态文件资源的使用
    介绍 静态文件都存储在Core Web根目录中。默认目录是<content_root>/wwwroot,但可通过 UseWebRoot方法更改访问目录。而content_...
    99+
    2022-11-13
  • Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
    接着这篇文章Node.js+jade抓取博客所有文章生成静态html文件的实例继续,在这篇文章中实现了采集与静态文件的生成,在实际的采集项目中, 应该是先入库再选择性的生成静态文件。 那么我选择的数据库是m...
    99+
    2022-06-04
    爬虫 静态 文件
  • 怎么在nginx中缓存静态文件
    这篇文章将为大家详细讲解有关怎么在nginx中缓存静态文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、准备事项我想你需要一个正常工作的 nginx 软件,就像这篇教...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作