Django 访问静态文件的APP staticfiles

Django 框架默认带的 APP:

    'django.contrib.staticfiles'

Django文档中也写明了:
如何管理静态文件(如图片、JavaScript、CSS) |姜戈 文档 |姜戈 (djangoproject.com)icon-default.png?t=N7T8https://docs.djangoproject.com/zh-hans/4.2/howto/static-files/

         Django 在处理静态文件时,会使用一个名为 STATICFILES_FINDERS 的设置(一个包含多个静态文件查找器类的列表)。Django 会使用这些查找器来查找静态文件。

默认情况下,Django 会使用以下查找器:

  1. django.contrib.staticfiles.finders.FileSystemFinder
    这个查找器会在 STATICFILES_DIRS 设置中列出的目录中查找静态文件。
  2. django.contrib.staticfiles.finders.AppDirectoriesFinder
    这个查找器会在每个已安装的应用程序 APP 中查找 static 目录中查找静态文件。

当 Django 需要查找静态文件时,会按照 STATICFILES_FINDERS 列表中的顺序,使用每个查找器来查找静态文件。如果找到了文件,就会停止查找,否则会继续使用下一个查找器。

        如果想自定义静态文件查找的方式,可以创建查找器类并将其添加到 STATICFILES_FINDERS 设置中。

        另外 Django Templates 和普通的静态文件区别:

  1. 用途不同:Django Templates 主要用于动态生成 HTML 页面,它可以根据数据库中的数据和用户请求中的参数来生成不同的页面内容。而静态文件则是指那些不需要动态生成的文件,例如 CSS、JavaScript、图片等。
  2. 文件格式不同:Django Templates 是一种特殊的文件格式,其中包含了一些特殊的语法和标签,可以用来在页面中插入动态内容。而静态文件则是一些普通的文件,例如 CSS 文件、JavaScript 文件、图片文件等。
  3. 处理方式不同:Django Templates 需要使用 Django 的模板引擎 来处理,将模板中的变量和标签替换为实际的内容,生成最终的 HTML 页面。而静态文件则可以直接被浏览器解析和处理。

        Django Templates 的作用主要是为了实现动态页面的生成,它可以根据数据库中的数据和用户请求中的参数来生成不同的页面内容。这对于需要根据用户身份、权限等因素来显示不同内容的 Web 应用程序非常有用。同时,Django Templates 还可以用来实现页面布局和组件化,将页面中的公共部分(例如头部、尾部等)抽象出来,以便于代码的重用和维护。

django是如何让浏览器也可以访问服务器上的静态文件呢:

Django --static 静态文件的配置(static_url/STATIC_ROOT/STATICFILES_DIRS) - Be-myself - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/gengyufei/p/12632408.html

配置问题排查

        print 出 STATICFILES_DIRS 与 Template 内容,核对是否正确;

        确认 index.html 是否可正常访问;

        确认 static 下资源是否可直接通过 URL 形式访问。

        正常情况下,静态文件引用的前端index.html中的引用资源除了开头“//”,是不会后续有额外的横杆出现,如果有请仔细检查配置。

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/139056.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++11新特性】右值引用和移动语义(移动构造,移动赋值)

文章目录 前言一、列表初始化(不同于初始化列表)二、initializer_list三、decltype关键字四、nullptr五、右值引用移动拷贝和移动赋值被编译器识别成将亡值的原因 左值引用和右值引用的场景和价值右值引用的场景move函数 六、关于右值引用的功能和属性问…

PFL-MoE:基于混合专家的个性联邦学习

文章链接:PFL-MoE: Personalized Federated Learning Based on Mixture of Experts 发表会议:APWeb-WAIM 2021(CCF-C) 目录 1.背景介绍联邦学习non-IIDPFL 2.内容摘要关键技术A.PFL-MoEB.PFL-MFC.PFL-MFE 实验结果 3.文章总结 1.…

创新与重塑,佛塑科技打造集团型 CRM 建设标杆

“十四五”时期是我国全面建成小康社会、实现第一个百年奋斗目标之后,乘势而上开启全面建设社会主义现代化国家新征程、向第二个百年奋斗目标进军的第一个五年。 在政府有序推进“十四五”规划的进程中,佛山佛塑科技集团股份有限公司(证券简…

PyTorch 深度学习之循环神经网络(基础篇)Basic RNN(十一)

0.Revision: DNN dense 重义层 全连接 RNN处理带有序列的数据 1. What is RNNs? linear layer 1.1 What is RNN? tanh (-1, 1) 1.2 RNN Cell in PyTorch 1.3 How to use RNNCell *先把维度搞清楚 多了一个序列的维度 2. How to use RNN 2.1 How to use RNN - numLayers…

基于SpringBoot的医疗预约服务管理系统

基于SpringBootVue的医疗预约服务管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 登陆界面 管理员界面 医生界面 会员界面 摘要 基于SpringBoot的…

大模型Agent最新论文及源码合集,覆盖构建、应用、评估

人们对于通用人工智能(AGI)的追求可以追溯到1950 年代中期,当时的AI研究者对机器拥有人类思维能力抱有很高的期望,但是随着研究的深入,他们发现想实现这个目标比最初设想的困难许多。到如今,AGI仍然有很长的…

安防视频监控EasyCVR平台修改默认数据为MySQL,但忘记登录密码该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频监控平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录…

机器视觉、图像处理和计算机视觉:概念和区别

机器视觉、图像处理和计算机视觉:概念和区别 机器视觉、图像处理和计算机视觉是相关但有区别的概念。 机器视觉主要应用于工业领域,涉及图像感知、图像处理、控制理论和软硬件的结合,旨在实现高效的运动控制或实时操作。 图像处理是指利用…

QT中使用QVTKOpenGLNativeWidget的简单教程以及案例,利用PCLVisualizer显示点云

先添加一个带有ui的QT应用程序。 一、在ui界面中添加QVTKOpenGLNativeWidget控件 先拖出来一个QOpenGLWidget控件 修改布局如下: 然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件,步骤如下: 右击QOpenGLWidget窗口,选…

FPGA project : flash_write

本实验重点学习了: flash的页编程指令pp。 在写之前要先进行擦除(全擦除和页擦除); 本实验:先传写指令,然后进入写锁存周期,然后传页编程指令,3个地址; 然后传数据&a…

项目管理之生命周期管理

项目生命周期管理矩阵是项目管理中一个重要的概念,它包括了项目从准备到收尾的各个阶段。项目生命周期管理矩阵以四个主要管理阶段为基础,分别为准备阶段、启动阶段、执行阶段和收尾阶段。这四个阶段在项目管理中有着明确的目标和职责,贯穿了…

软件工程与计算总结(十六)详细设计的设计模式

一.设计模式基础 某种意义上来说,设计模式就是设计经验的总结~ 设计模式不是简单的经验总结,更不是无中生有,它是经过实践反复检验、能解决关键技术难题、有广泛应用前景和能够显著提高软件质量的有效的经验总结。 每个模式都不是独立的&a…