完整电商项目--django项目配置(4):配置前端静态文件及一些小技巧

Django模板与静态文件协同机制深度解析 Django的模板系统负责服务端动态渲染,静态文件则由Web服务器直接提供,二者构成前后端资源协同的基础架构。其核心原理在于分离‘渲染时路径解析’与‘服务时物理映射’:模板通过TEMPLATES配置和继承机制组织HTML结构,静态文件依赖STATICFILES_DIRS、STATIC_ROOT与STATIC_URL三级寻址体系,并经collectstatic构建后交由Nginx等服务器托管。该机制保障了多应用复用、CDN对接与缓存控制等关键工程能力,在前后端分离、Docker部署及Django 4.2+生产 阅读详情

配置静态文件

  • 需要在项目目录下创建一个 static 的文件夹。
    • 包括
    • (1) css 文件夹
    • (2) images 文件夹
    • (3) js 文件夹
    • (4)还有直接在static 目录下存储 静态页面。
    • 注释: 我们采用这样的集中处理方式。并没有将 每个应用下需要用到的静态文件定义到指定应用目录下。
      在这里插入图片描述
  • 阅读文档,我们发现了,静态文件和 templates 是类似的查找方式。
    在这里插入图片描述
  • 根据描述, STATICFILES_FINDERS 设置中包含多个 查找器(用来查找静态文件),我们进入到里面看看:
    在这里插入图片描述
    我们知道有一个 默认查找器 会深入到 应用的目录中查找 static目录找寻对应的静态文件。
  • 根据我们上面做的,是要进行 集中处理。所以就有了下面的操作。我们查找对应的 文档首页下的静态文件一章,有这些参数介绍:
    在这里插入图片描述
  • 分别介绍他们的作用:
    • STATIC_ROOT: 当你设置中DEBUG为True时,django会自动为你静态文件代理,不过当DEBUG为False时,意味着你要进入生产环境,那么,你就必须使用STATIC_ROOT来指明你的静态文件在哪里,就像MEDIA_ROOT一样
      在这里插入图片描述
      补充:
      在这里插入图片描述

    • STATIC_URL: 用于静态文件的前缀,当访问的资源以 此设置的前缀开头,证明是静态文件,将会到指定的静态文件中去查找。
      在这里插入图片描述
      以此图片为例子, 访问/static/资源名的方式,便可以从 下面介绍的STATICFILES_DIRS 中(或再次进入app内部查找)访问到静态文件,当然这个 /static/不是固定的,可以起其他名字

    • STATICFILES_DIRS:定义查找静态文件的地方。django查找静态文件是惰性查找,查找到第一个,就停止查找了。
      在这里插入图片描述

  • 下面还有一个 STATICFILES_STORAGE:这是用来收集静态文件时使用的文件存储引擎
    在这里插入图片描述
这就是静态文件管理的一些相关信息,下面是代码:

在这里插入图片描述

  • 我们只设置了两个参数,因为还在测试,debug阶段。还未到真正的上线部署,生产环境。

配置文件(settings)的管理

  • 正如上面所说的,我们应该区分产品的不同时期,我们所要使用的 配置文件理应不同,这里就是来做一下区分。

  • 首先,我们在原来的settings文件目录下,创建一个settings文件夹, 将我们的settings文件移进去,并改名为 dev.py ,表示我们的项目在开发阶段。当上线部署时,可再将文件复制一份,进行更改,作为生产环境中使用!
    在这里插入图片描述

  • 当然,这个操作更改了配置文件的位置。所以我们要进行响应的调整。

  • 首先,要知道我们的BASE_DIR 是根据我们的 dev.py 文件进行计算的。先来理解这个

'''
__file__ 表示当前文件名:dev.py
os.path.abspath(__file__))表示当前文件的 绝对路径
dirname() 寻找上级目录
'''

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 根据上面的解释不难知道, BASE_DIR就是我们的manage.py所在的路径!

#但当我们将原先的settings文件,移入文件夹之后,其路径就会改变,代表的是settings文件夹下面的目录~

#所以我们只需要,加一层dirname()函数,使它找到上级目录就行了(manage.py对应的路径)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  • 另外需要经 manage.py 中的环境配置文件路径更改一下:
    在这里插入图片描述

另一个类似的地方:添加应用的导包路径

  • 我们将所有应用归于一个文件夹中方便管理
    在这里插入图片描述
    但此时,在INSTALLED_APPS中注册应用时,必须繁琐的加上apps文件夹的路径,为解决这个问题:
# 构造apps的路径,便于进行应用注册
import sys  # 用于操作python的模块
# sys.path  这是一个导入包的路径

# 将指定应用的导包路径添加到 sys.path 里面
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

这是便可以像以前一样添加注册应用了!

over!

Django静态资源URL STATIC_ROOT的配置方法 缘由   新手学习 Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面使用这些资源并不是直接引用一下就好,还要配置路径即 STATIC_URL 如果这个配置不好的话,请求这些静态资源将返回 HTTP 404 。 经验传授 1. 输出 settings.py 文件里面的 STATIC_URL 到HTML页面,看一下物理路径指向了哪些,通常是不是跑出根目录的。这里给个DEMO: 复制代码 代码如下: def home(request):     t = get_template(“index.html”)     html 立即下载

相关推荐

Android14到Android16源码移植中的Bluetooth模块规范适配指南

本文详细解析了从Android14到Android16源码移植过程中Bluetooth模块的规范适配挑战,重点介绍了Android.bp配置差异及常见编译报错解决方案。针对代码规范检查、final字段声明、静态方法优化等核心问题提供实用修复方法,帮助开发者高效完成版本升级适配工作。

fire9的博客 254

Django-2:django静态文件配置

django可通过静态文件配置,来实现CSS、JS、images等静态资源的访问,本章节就来介绍为什么要配置、如何配置,静态配置的动态解析。

liuyu_719的博客 3483

(二)MS-MPI多机通信

1.关于MPI多机通信 一台计算机处理数据的能力是有限的,MPI的主要作用就是用来实现并行计算机,即将多台主机联机,实现大规模、高性能的计算机机群。我们知道一台计算机同时运行多个进程时,由于计算机资源是共享的,多个进程都会占用一些资源,每个进程运行的效率就会降低,比如当一台计算机同时跑着多个大型应用时会变得非常卡顿。所谓多机通信,可以理解为将本应该在同一台主机上运行的多个进程分配到多台主机上,以往...

xinwuya_的博客 4390

Djano静态资源配置

静态资源: 图片、CSS文件、JS等等需要引用的资源 配置过程: 1、setting中的设置: a: 前者为Django系统提供,旨在为之后调用静态资源只要需要在相应文件前面加上 /static/即可。 b: 而后者则是映射到自己所需要静态文件夹。后期使用中,只要/static/+所要的内容,就代表后者路径中相应内容。 例如: 这里就代表是文件夹/static/Picture/下的图片Frame.png。 2、配置好后的使用: a): 线下用Django测试,先运行python manage.py col

zpj1997的博客 824

LabVIEW状态机实战:用STM32+DHT11搭建温湿度监测系统(附完整VI源码)

本文详细介绍了如何利用LabVIEW状态机模式与STM32微控制器、DHT11温湿度传感器构建温湿度监测系统。通过硬件选型、状态机设计、LabVIEW程序实现及系统优化等环节,提供了一套完整的解决方案,并附有VI源码,助力开发者快速实现嵌入式温湿度监测应用。

weixin_42549723的博客 518

动态欧拉角与静态欧拉角:从理论到实践的深度解析

本文深度解析了动态欧拉角与静态欧拉角的核心区别与应用场景。静态欧拉角基于固定世界坐标系,适用于全局导航与三维场景编辑;而动态欧拉角基于物体自身坐标系,更符合飞行模拟、机器人控制等直觉操作,但需警惕其固有的万向节死锁问题。文章通过理论结合实战,帮助开发者在机器人、无人机及图形学项目中正确选用与处理旋转表示。

java5的博客 1073

django 静态资源配置

django static静态资源配置

wwming2008的专栏 791

转载:YOLOv8改进全新Inner-IoU损失函数:扩展到其他SIoU、CIoU等主流损失函数,带辅助边界框的损失

目标检测是计算机视觉中的基本任务,包括目标分类和定位。边界框回归损失函数是检测器定位分支的重要组成部分,检测器的定位精度在很大程度上取决于边界框回归,在当前的检测器中发挥着不可替代的作用。在BBR中,IoU损失可以准确描述预测边界框与GT框之间匹配的程度,确保模型在训练过程中可以学习到目标的位置信息。作为现有主流边界框回归损失函数的基本部分,IoU定义如下:B和分别代表预测框和GT框。定义IoU之后,相应的损失可以定义如下:至今,基于IoU的损失函数逐渐成为主流并占据主导地位。

wuling129的专栏 4941

django配置静态文件的两种方法

方法一:按照django配置静态文件的方法,可以在APP应用目录下创建一个static的文件夹,然后在static文件夹下创建一个和APP同名的文件夹,如我有一个blog的django项目,在下面有一个articles的APP应用那么我的静态文件的配置就如下所示 blog ├── articles │ ├── __init__.py │ ├── admin.p...

qq_40229790的博客 3637

VFIO框架源码分析(二十二)- IOMMUFD 的脏页跟踪与 Dirty Bits 读取

在虚拟化热迁移(Live Migration)的场景中,脏页追踪(Dirty Page Tracking)是最具挑战性的环节之一。它的核心任务是实时捕获设备(DMA)对内存的写操作,以便 VMM(如 QEMU)知道哪些内存页需要被重新传输到目标主机。在强耦合与粗粒度:脏页追踪是绑定在 Container 上的。这意味着,如果一个 Container 内有多个设备,哪怕只有一个设备在写内存,脏页追踪也会影响 Container 内的所有设备。软件模拟开销大。

qq_36071928的博客 1042

使用conda环境python3.13和python3.12下安装vllm过程记录

使用conda环境python3.13和python3.12下安装vllm过程记录

没刮胡子的程序员专栏 884

第二章 Django 配置信息

Django 配置信息 Django 的配置文件 setting.py 用于配置整个网站的环境和功能,核心配置必须有项目路径、密钥配置、域名访问权限、App列表、中间件、资源文件、模板配置、数据库的连接方式。 2.1 基本配置信息 一个简单的项目必须具备的基本配置信息有:项目路径、密钥配置、域名访问权限、App列表和中间件。以 MyDjango 项目为例,settings.py 的基本配置如下: import os # 项目路径 # Build paths inside the project like t

孙悟空间 444

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

基于Django开发的电商购物平台(完整项目介绍 --> 项目环境 , 项目完整代码 , 项目服务器/虚拟机部署)

> 本网站是基于Django+uwsgi+nginx+MySQL+redis+linux+requests开发的电商购物系统, > 以及通过使用爬虫技术批量获取商品数据. > 实现 > 客户端: 注册 , 登录 , 浏览记录保存, 购物车 , 订单等功能实现 > 管理端: 商品添加 , 用户管理等功能

几许的博客 1895

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Django电商项目用户注册开发流程

总结Django电商项目用户注册的开发流程 先在setting.py文件里面进行配置 然后实现前后端的用户注册逻辑实现

2301_78179333的博客 1165

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

第10次:电商项目配置开发环境

第三步:在jinja2中引用静态文件和在页面中对url反向解析相对复杂,这里通过自定义的方式将引用静态文件和反向解析两个操作与Django引擎下的操作保持一致。第三步:测试,运行项目,浏览器输入http://127.0.0.1:8000/static/images/adv01.jpg,若可访问到静态图片,说明配置成功。开发环境用于日常开发,生产环境用于线上部署,为避免单个环境下相互干扰,考虑将二者分开,须完成两步操作。第三步:配置redis数据库,在dev.py与prod.py中。

hello python 1961

Vue+Django独立开发电商项目

​download:Vue+Django独立开发电商项目 修改luffy/settings/prop.py中以下几项 (1) allow_hosts 1 2 3 ALLOWED_HOSTS = [   ‘api.youdomain.com’, ] (2) 跨域白名单 1 2 3 4 5 6 CORS_ORIGIN_WHITELIST = (   # 前端域名   “www.youdomain.com”,   # 后端api接口域名   “api.youdomain.com” ) (3) 支付宝电脑网站支付.

liujingtian1986的博客 430

Python Django(WEB电商项目构建)

Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V组成。 安装Python 和 Django可以自己查阅资料 此文均在Pycharm下进行需要下载可加群:607021567找群主,本文主要介绍电商产品。所以可自行学习,创造自己的网站。 1、Django架构设计: Django是一个基于MVC构造...

weixin_45342712的博客 452

Django电商项目后端建模

(一)基于工作的Django项目结构 在工作当中,一个Django项目不是一个App,比如电商项目: 要有店铺和买家俩个功能 1、店铺: 发布商品 商品销售 2、买家 买商品 支付 (二)独立的路由系统(子路由) 在多App的Django项目当中,通常会遇到两个App的视图函数有一样的名字的情况,这个时候,最好解决方案就是使用Django的子路由,在App当中创建自己的urls文件 创建步骤: 1...

TONNYD的博客 688

python电商项目源码_Python Django(WEB电商项目构建)

(坚持每一天,就是成功)Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V组成。安装Python 和 Django可以自己查阅资料 此文均在Pycharm下进行需要下载可加群:607021567找群主,本文主要介绍电商产品。所以可自行学习,创造自己的网站。1、Django架构设计:Django是...

weixin_39789042的博客 1231

Django项目实战

在当今数字化时代,电商系统已成为互联网应用的重要组成部分。本文将详细介绍如何使用 Django 框架开发一个完整的电商系统,从环境搭建到用户注册功能的实现,让你一步步掌握电商系统开发的核心技术。

yz_518的博客 1041

电商系统实战:用NUITKA打包Django项目的完整流程

完成的,它的在线编辑器可以直接运行Django项目,还能一键部署测试环境,省去了本地配置的麻烦。如果你也在做Python项目打包,不妨试试这个轻量化的开发环境。整个打包过程最深的体会是:NUITKA对Django的支持已经相当成熟,只要处理好资源文件和特殊依赖,完全可以生成生产环境可用的独立程序。最近在做一个电商系统的演示项目,正好尝试了用NUITKA打包Django应用的全过程。这个过程中踩了不少坑,也总结出一些实用经验,分享给同样需要打包Python项目的朋友。使用UPX进一步压缩二进制。

EmeraldEagle36的博客 701

Earthworm 连词成句英语学习:10 分钟本地部署与快速上手指南

背单词时每个词都认识,自己写句子却排不对语序。Earthworm 把连词成句变成键盘小游戏:读中文,逐词敲出英文,答错立刻有反馈。适合想补英语基础的初学者,也适合想研究游戏化学习平台怎么实现的开发者。 ## 项目定位与适用人群:谁适合玩这个连词成句英语游戏 核心是连词成句玩法,主要价值有四点: - **解决语序混乱**:孤立背单词容易,组装句子难。它用"中文提示 + 打字拼句"训练语序和短语

gitblog_00854的博客 410

django和python搭建电商网站_Python Django(WEB电商项目构建)

(坚持每一天,就是成功)Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V组成。安装Python 和 Django可以自己查阅资料 此文均在Pycharm下进行需要下载可加群:607021567找群主,本文主要介绍电商产品。所以可自行学习,创造自己的网站。1、Django架构设计:Django是...

weixin_39655689的博客 836

Django电商项目实战指南

Django电商项目实战指南 本指南旨在帮助您快速理解和上手由veryacademy提供的Django电商平台项目。我们将通过三个核心部分解析该项目:项目目录结构、启动文件介绍以及配置文件详解,让您的开发之旅更加顺畅。 1. 项目目录结构及介绍 django-ecommerce-project/ │ ├── ecommerce # 主应用文件夹 │ ├──...

gitblog_00821的博客 495

PyCharm 2021.3 + Django 4.2 调试:解决模板静态文件404与ORM查询N+1问题

本文详细介绍了在PyCharm 2021.3中调试Django 4.2项目时遇到的静态文件404与ORM查询N+1问题的解决方案。通过配置PyCharm运行环境、优化settings.py设置以及使用select_related和prefetch_related等方法,有效提升开发效率和项目性能。特别适合电商项目开发者参考。

weixin_30412167的博客 419
上一篇: 完整电商项目--django项目配置(3):Redis
下一篇: 完整电商项目--django项目配置(5):日志文件的简单配置
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值