当前位置: 首页 > news >正文

Django 用相对路径方式引用自定义模块 或 文件

Django的文件夹结构 projectName/websiteName/appName

manage.py 所在路径为:D:/projectA/website1/manage.py

views.py 所在路径为:D:/projectA/website1/app1/views.py

D:/projectA/website1/app1/module1.py

如果要引用自定义模块,引用自定义的模块 

from .A import AAA    (在 if __name__ == "__main__" 中会报错)

from A import AAA    (在网页执行中会报错)

from websiteName.appName.moduleA import some_function

要在view.py中使用相对路径读取文件 D:/projectA/website1/app1/abc.txt

如果使用 with open("abc.txt", 'r') as f  会报错 FileNotFoundError: [Errno 2] No such file or directory 

因为相对路径是相对于当前工作目录而言,而不是相对于views.py所在的目录

解决方案

 要实现相对于views.py文件的相对路径来读取abc.txt,推荐使用Django提供的BASE_DIR设置来构建路径 。

from django.conf import settingsdef get_config():base_dir = settings.BASE_DIRconfig_file_path = os.path.join(base_dir, 'app1', 'myconfig.txt')with open(config_file_path, 'r') as config_file:config_data = config_file.read()return config_data

当在 if __name__ == "__main__": 块内使用相对导入时,容易犯的错误之一是与模块结构相关的错误。下面是一个示例,演示了在这种情况下可能发生的问题:

mypackage/__init__.pymain.pysubpackage/__init__.pymoduleA.pymoduleB.py

这种情况下,建议使用绝对路径导入

相关文章:

Django 用相对路径方式引用自定义模块 或 文件

Django的文件夹结构 projectName/websiteName/appName manage.py 所在路径为:D:/projectA/website1/manage.py views.py 所在路径为:D:/projectA/website1/app1/views.py D:/projectA/website1/app1/module1.py 如果要引用自定义模块,引用…...

企业架构LNMP学习笔记22

防盗链原理和实现。 域名A的资源文件,经常被域名B直接调用访问。 而用户经常访问域名B,看到的资源(图片等)以为是域名B的,实际则是域名A的。 但是域名A没有获得任何收益,却要给域名B来源的访问消耗服务器…...

uniapp和小程序设置tabBar和显示与隐藏tabBar

(1)设置tabBar: uni.setTabberItem({ }); wx.setTabberItem({ }); 属性值: indexnumber是tabBar 的哪一项,从左边算起,索引从0开始textstring否tab 上按钮文字iconPathstring否图片路径selectedIc…...

物联网、无线通讯

LAN:局域网 Local Area Network WAN:广域网 Wide Area Network WLAN:无线局域网 Wireless LAN LPWAN:低功耗广域网 Low Power Wide Area Network技术特点无线通信技术应用场景高功耗、高速率的远距离传输3G、4G蜂窝这类传输技术适…...

Pod和容器设计模式

为什么需要Pod 一些应用的实现是需要多个进程配合完成的,由于容器实际上是一个“单进程”模型,如果在容器里启动多个进程会存在进程管理的难题。在Kubernetes里面,实际上会被定义为一个拥有四个容器的Pod。 Pod相当于进程组 Kubernetes 是…...

docker系列(3) - 常用软件安装

文章目录 3. docker安装常用软件3.1 安装nginx3.2 安装redis3.3 安装mysql3.4 部署springboot程序3.4.1 编写dockerfile3.4.2 构建镜像3.4.3 启动镜像 3. docker安装常用软件 3.1 安装nginx docker pull nginx#挂载启动 docker run -it -d \ --namenginx \ --networkpub_netw…...

Apache Hive之数据查询

文章目录 版权声明数据查询环境准备基本查询准备数据select基础查询分组、聚合JOINRLIKE正则匹配UNION联合Sampling采用Virtual Columns虚拟列 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权利…...

OpenCV---视频操作

用摄像头捕获视频 import cv2 as cv import numpy cap cv.VideoCapture(0) while(cap.isOpened()):ret, frame cap.read() # read() 它返回两个值,第一个是布尔值,表示是否成功读取到一帧,第二个是帧本身。cv.imshow(Video, frame)if c…...

《TCP/IP网络编程》阅读笔记--进程间通信

目录 1--进程间通信 2--pipe()函数 3--代码实例 3-1--pipe1.c 3-2--pipe2.c 3-3--pipe3.c 3-4--保存信息的回声服务器端 1--进程间通信 为了实现进程间通信,使得两个不同的进程间可以交换数据,操作系统必须提供两个进程可以同时访问的内存空间&am…...

mysql中show status参数介绍

Uptime_since_flush_status, 2159061:自上次刷新状态以来的服务器运行时间(以秒为单位)。Uptime, 2159061:服务器的总运行时间(以秒为单位)。Threads_running, 2:当前正在运行的客户端线程数。T…...

Tomcat服务的部署及配置优化

文章目录 1. Tomcat的相关介绍1.1 Tomcat简介1.2 Tomcat的核心组件1.2.1 Web容器1.2.2 Servlet容器1.2.3 JSP容器 1.3 Tomcat的功能组件1.3.1 connector连接器1.3.2 container容器1.3.2.1 子容器及其相关功能 1.4 主要作用1.5 Tmocat处理请求的过程 2. Tomcata服务部署2.1 安装…...

入门力扣自学笔记279 C++ (题目编号:1123)

1123. 最深叶节点的最近公共祖先 题目: 给你一个有根节点 root 的二叉树,返回它 最深的叶节点的最近公共祖先 。 回想一下: 叶节点 是二叉树中没有子节点的节点树的根节点的 深度 为 0,如果某一节点的深度为 d,那它…...

【AIGC专题】Stable Diffusion 从入门到企业级实战0402

一、概述 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第02节, 利用Stable Diffusion ControlNet Openpose模型精准控制图像生成。上一节,我们介绍了《Stable Diffusion C…...

【Spring事务】Spring事务的传播机制(通俗易懂)

目录 什么是spring事务 Spring事务的传播机制 什么是spring事务 封装在数据库事务之上的一种事务处理机制。其管理方法有两种,分别是编程式事务以及声明式事务。一般我们使用Transactional进行声明式事务。 Spring事务的传播机制 Spring的事务传播机制种类 传播行…...

使用 Python 的高效相机流

一、说明 让我们谈谈在Python中使用网络摄像头。我有一个简单的任务,从相机读取帧,并在每一帧上运行神经网络。对于一个特定的网络摄像头,我在设置目标 fps 时遇到了问题(正如我现在所理解的——因为相机可以用 mjpeg 格式运行 30…...

pycharm使用

在使用pycharm时,有时一个回车或者一个tab键,缩进的长度不符合预期可以调整设置tab键缩进的长度: 平时工作中,不同的人在编辑代码缩进的时候,有的人喜欢按四个或者六个空格,有的人喜欢按tab键,而…...

C++项目实战——基于多设计模式下的同步异步日志系统-②-相关技术补充(不定参函数)

文章目录 专栏导读不定参函数C风格不定参函数不定参宏函数 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C、Linux 学…...

iOS开发Swift-10-位置授权, cocoapods,API,天气获取,城市获取-和风天气App首页代码

1.获取用户当前所在的位置 在infi中点击加号,选择权限:当用户使用app的时候获取位置权限. 填写使用位置权限的目的. 2.获取用户的经纬度. ViewController: import UIKit import CoreLocationclass ViewController: UIViewController, CLLocationManagerDelegate { //遵循CLL…...

CNN(七):ResNeXt-50算法的思考

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 在进行ResNeXt-50实战练习时,我也跟其他学员一样有这个疑惑,如下图所示: 反复查看代码,仍然有…...

【人月神话】深入了解软件工程和项目管理

文章目录 👨‍⚖️《人月神话》的主要观点👨‍🏫《人月神话》的主要内容👨‍💻作者介绍 🌸🌸🌸🌷🌷🌷💐💐💐&a…...

52、基于函数式方式开发 Spring WebFlux 应用

★ Spring WebFlux的两种开发方式 1. 采用类似于Spring MVC的注解的方式来开发。此时开发时感觉Spring MVC差异不大,但底层依然是反应式API。2. 使用函数式编程来开发★ 使用函数式方式开发Web Flux 使用函数式开发WebFlux时需要开发两个组件: ▲ Han…...

MySQL的用户管理

1、MySQL的用户管理 (1)创建用户 create user zhang3 identified by 123123;表示创建名称为zhang3的用户,密码设为123123。 (2)了解user表 1)查看用户 select host,user,authentication_string,select…...

LeetCode //C - 114. Flatten Binary Tree to Linked List

114. Flatten Binary Tree to Linked List Given the root of a binary tree, flatten the tree into a “linked list”: The “linked list” should use the same TreeNode class where the right child pointer points to the next node in the list and the left child …...

利用transform和border 创造简易图标,以适应uniapp中多字体大小情况下的符号问题

heml: <text class"icon-check"></text> css: .icon-check {border: 2px solid black;border-left: 0;border-top: 0;height: 12px;width: 6px;transform-origin: center;transform: rotate(45deg);} 实际上就是声明一个带边框的div 将其中相邻的两边去…...

C/C++指针函数与函数指针

一、指针函数 指针函数&#xff1a;本质为一个函数&#xff0c;返回值为指针指针函数&#xff1a;如果一个函数的返回值是指针类型&#xff0c;则称为指针函数用指针作为函数的返回值的好处&#xff1a;可以从被调函数向主函数返回大量的数据&#xff0c;常用于返回结构体指针。…...

30天入门Python(基础篇)——第1天:为什么选择Python

文章目录 专栏导读作者有话说为什么学习Python原因1(总体得说)原因2(就业说) Python的由来(来自百度百科)Python的版本 专栏导读 &#x1f525;&#x1f525;本文已收录于《30天学习Python从入门到精通》 &#x1f251;&#x1f251;本专栏专门针对于零基础和需要重新复习巩固…...

智慧公厕破解公共厕所管理的“孤岛现象”

在现代社会中&#xff0c;公共厕所是城市管理中的一项重要任务。然而&#xff0c;经常会出现公厕管理的“孤岛现象”&#xff0c;即每个公厕都是独立运作&#xff0c;缺乏统一的管理和监控机制。针对这一问题&#xff0c;智慧公厕的出现为解决公共厕所管理难题带来了新的方案。…...

excel中删除重复项

数据如图&#xff1a; 要删除姓名这一列的重复项&#xff0c;操作&#xff1a; (1)选中姓名这一列(2)点击“数据”(3)点击“删除重复项" 这是excel会自动检测出还有别的关联列 直接默认&#xff0c;点击删除重复项...弹出下面的界面 因为我们只要删除“姓名”列的重复值&…...

2023-9-8 求组合数(三)

题目链接&#xff1a;求组合数 III #include <iostream> #include <algorithm>using namespace std;typedef long long LL;int p;int qmi(int a, int k) {int res 1;while(k){if(k & 1) res (LL) res * a % p;k >> 1;a (LL) a * a % p;}return res; }…...

01 - Apache Seatunnel 源码调试

1.下载源码 https://github.com/apache/seatunnel.git2.编译 mvn clean package -pl seatunnel-dist -am -Dmaven.test.skiptrue3. 下载驱动 sh bin/install-plugin.sh 4.测试类 选择 seatunnel-examples ├── seatunnel-engine-examples ├── seatunnel-flink-connecto…...

婚礼摄影网站源码/贵阳网站建设制作

gzip_static on|off nginx对于静态文件的处理模块&#xff1a; 该模块可以读取预先压缩的gz文件&#xff0c;这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后&#xff0c;nginx首先检查是否存在请求静态文件的gz结尾的文件&#xff0c;如果有则直接返回该gz文件…...

网站系统是什么/推广网站推广

n n 知识准备储备工作 n 1准备工作 打开Forced Logging模式通过 SELECT FORCE_LOGGING FROM V$DATABASE;查看yes就已经打开了 SQL> ALTER DATABASE FORCE LOGGING; Database altered. SQL> SELECT FORCE_LOGGING FROM V$DATABASE; FOR --- YES SQL> ALTER…...

免费域名申请网站大全下载/重庆排名优化整站优化

前言一 编程规约 一 命名风格二 常量定义三 代码格式四 OOP规约五 集合处理六 并发处理七 控制语句八 注释规约九 其它 二 异常日志 一 异常处理二 日志规约 三 MySQL数据库 一 建表规约二 索引规约三 SQL语句四 ORM映射 四 工程结构 一 应用分层二 二方库依赖三 服务器 五 安全…...

青岛网站建设优化质量可靠/查域名备案信息查询

Java语言8种基本数据类型能够适应对象中属性的封装&#xff0c;但是这些基本数据不具备对象的特性&#xff0c;不能满足一些比较特殊的数据转换&#xff0c;比如double类型转换成int类型。并且&#xff0c;Java中很多类的方法参数类型为为Object类型&#xff0c;其接收的参数也…...

南阳网站建设价格/谷歌搜索引擎入口363

集成运放的主要技术参数 评价集成运放好坏的参数很多&#xff0c;它们是描述一个实际运放与理想放大器件接近程度的数据&#xff0c;这里仅介绍其中主要的几种。一、输入参数1&#xff0e;输入失调电压UO 及其温漂在室温及标准电源电压下&#xff0c;为了使静态UO 0&#xff0…...

移动网站建设服务商/萝卜建站

Spark插入MongoDB出现的错误 解决方案: 1.确认是否在spark中配置了相关的库和表 2.检测是否出现1个以上的spark(我之前检查过配置都没有问题&#xff0c;demo也可以跑&#xff0c;但是我的离线用户画像却一直插入不进去。 仔细检查发现&#xff0c;我写了个sparkSession&am…...