首页 > 其他分享 >通过任意脚本调用django的模型类

通过任意脚本调用django的模型类

时间:2023-07-19 15:46:58浏览次数:40  
标签:脚本 调用 项目 模型 py django 导入 任意

通过任意脚本调用django的模型类

需求:

我想通过任意脚本,调用django的模型类,查询一下数据库的信息,或者新增数据库数据,而不需要通过启动django项目或者使用python manage.py shell这种方式来运行

解决办法

脚本中添加django项目的路径到sys.path环境变量中

设置django项目的环境变量

然后调用django.setup()命令

就像这样

import os
import sys

sys.path.append(r"E:\github_code\learn-drf\tutorial")  # 这里是django项目的绝对路径,即django项目中manage.py所在的文件夹路径
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tutorial.settings')  # 这里直接从django项目中manage.py进行拷贝
import django

django.setup()
# 导入django项目中的模型类  要是不知道该怎么导入 可以先去django项目中 根目录下创建一个py文件,然后输入模型类名让编辑器自动导入 或者找一找django项目中 使用模型类是怎么导入的 然后拷贝过来即可
# 也可以直接放在django项目的根目录下使用 这样导入就通过编辑器自动提示, 更方便了
from student_manager.models import Student

students = Student.objects.all()  # 后面就是直接使用模型类了
for s in students:
    print(s)


具体解释

我的django项目

项目路径:E:\github_code\learn-drf\tutorial

image-20230719152130635

image-20230719152023495

因此脚本就是上面写的那样

测试

image-20230719152839333

脚本输出

image-20230719152920684

PS

如果把这个脚本,直接放在django项目的根目录下,即放在django项目中manage.py所在的文件夹路径下,就更好用了,导入模型就靠编辑器自动导入,相当方便

标签:脚本,调用,项目,模型,py,django,导入,任意
From: https://www.cnblogs.com/rainbow-tan/p/17565767.html

相关文章

  • IC卡读卡器web插件中使用js异步await/async调用接口
    js中使用异步await/async方式,对于程序的结构和逻辑都有非常大的好处,对于异步await/async有如下描述:async表示这是一个async函数,await只能用在async函数里面,不能单独使用.async返回的是一个Promise对象,await就是等待这个promise的返回结果后,再继续执行.await等待的是一个Pro......
  • Django-4.2博客开发教程:需求分析并确定数据表(四)
    前三步已经完成了一个初步流程,从创建项目》应用》数据迁移》访问首页。以下是我整理的基本流程,接下来一步一步完成整个项目。 1.我们的需求: 博客的功能主要分为:网站首页、文章分类、文章内容、图片、文章推荐、文章排行、热门推荐、文章搜索 等~1、网站首页:首页是整个网站......
  • C# 使用反射调用含 ref 或 out 参数的方法
     //程序集引用方式intint111=0;stringstr111="";boolret1=newClsITestData().GetRtf("Debug_Pas","022_0714_1654_55",outstringrtf,refint111,refstr111);stringmsg1=rtf;//COM调用strings......
  • Django路由分发
    1.简单的项目不需要路由分发,直接在根路径下的url.py编写即可2.路由分发利用上期学过的在apps文件夹下创建多apphttps://www.cnblogs.com/khalil12138/p/17540805.html  再将路由拆分到各自app的urls.py下 ......
  • django框架安装mysql
    Django框架安装MySQLMySQL是一种常见的关系型数据库管理系统,广泛用于开发Web应用程序。Django框架是一个高效、灵活的PythonWeb框架,它提供了与多种数据库管理系统集成的能力。本文将介绍如何在Django框架中安装和配置MySQL数据库。步骤一:安装MySQL首先,我们需要在本地机器上安装......
  • .net 6 winform启动器:调用CMD命令行执行dotnet命令启动.net core程序并将控制台输出日
    背景历史遗留问题,生产车间运行的一个.netcoresignalr程序使用命令行程序启动,经常由于生产人员误操作将光标停留在控制台上导致程序假死,丢失部分测试数据,车间随便找了一台win10系统部署的程序,源代码遗失,电脑也是阉割版,原开发者已经离职多年无人敢动,于是想了一个歪门邪道发方......
  • django 批量使用 同一个表的字段做转换
    使用结束减去开始时间ExamRecord.objects.filter(over_time__lt=datetime.datetime.now(),submit=1).update(submit=3,use_time=ExpressionWrapper(Extract(F('over_time')-F('start_time'),'epoch')......
  • react-native 调用手机自带分享
    实现效果 importSharefrom'react-native-share'importViewShotfrom'react-native-view-shot'constshotRef=useRef<ViewShot>(null)constgetTime=()=>{returnnewDate().getTime().toString()}constOnShare=()=&g......
  • 学习django遇到的一些问题
    python版本号:3.10django版本号:4.2.1官方文档“编写你的第一个Django应用”1.学习后台管理时报错,TypeErrorat/admin/'set'objectisnotreversibleRequestMethod:GETRequestURL:http://127.0.0.1:8000/admin/DjangoVersion:4.2.1ExceptionType:TypeError......
  • 关于调用支付宝密钥出现的报错问题 Not a valid PEM post boundary
    在项目的支付模块中我配置了settings.py文件importos#应用私钥APP_PRIVATE_KEY_STRING=open(os.path.join(os.path.dirname(os.path.abspath(__file__)),'pem','app_private_key.pem')).read()#支付宝公钥ALIPAY_PUBLIC_KEY_STRING=open(os.path.join(os.path.dirn......