Django笔记四十之运行Django环境的python脚本

这篇具有很好参考价值的文章主要介绍了Django笔记四十之运行Django环境的python脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文首发于公众号:Hunter后端

原文链接:Django笔记四十之运行Django环境的python脚本

这一篇笔记介绍如何在 Django 中运行脚本。

假设说我们要实现一个功能,需要获取 blog.models.Blog 这张表里的总数且使用 print() 输出。

如果代码逻辑很短,且是一次性执行的操作,我们可以在系统的根目录下使用 python3 manage.py shell 在 shell 中操作实现。

from blog.models import Blog
print(Blog.objects.all().count())

但是如果这个需求是一个很长的逻辑,且需要可以重复执行,那么应该如何操作呢?

首先,我们需要可以用到 Django 里的 Blog model,然后使用 model 的方式来进行查询。

我们可以将其写入一个文件,每次都使用 shell 来调用。

写入文件,在 shell 调用

比如,我们可以在 blog 创建一个 scripts 文件夹,然后创建一个 blog_script.py 文件:

# blog/scripts/blog_script.py

from blog.models import Blog

def get_blog_count():
    print(Blog.objects.all().count())

然后每次调用的时候就进入 python3 manage.py shell 操作:

from blog.scripts.blog_script import get_blog_count

get_blog_count()

直接运行脚本

如果我们想创建一个文件,然后直接运行该脚本,那么就需要在脚本中引入当前 Django 系统环境的一些参数和变量,可以直接在系统根目录下创建一个 blog_script.py 文件:

# blog_script.py

import django, os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hunter.settings")
django.setup()

from blog.models import Blog

if __name__ == "__main__":
    print(Blog.objects.count())

然后我们在系统根目录下直接执行该脚本:

python3 blog_script.py

这个文件目前只有放在系统的根目录下才可以运行,但是如果太多的脚本都放到系统根目录下也不太好,所以我们如果有这种脚本一般都可以放到对应的 application 的 scripts 文件夹下。

如果我们想要直接在 blog/scripts/ 下直接运行该脚本的话,则需要在我们的脚本中添加 Django 系统的路径,假设我们的 Django 系统名为 hunter,在服务器的路径为:/Users/xxxx/hunter/,我们可以如下操作:

# blog/scripts/

import django, os, sys

django_path = "/Users/xxxx/hunter/"
sys.path.extend([django_path])
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hunter.settings")

django.setup()

from blog.models import Blog

if __name__ == "__main__":
    print(Blog.objects.count())

如果想获取更多后端相关文章,可扫码关注阅读:
Django笔记四十之运行Django环境的python脚本文章来源地址https://www.toymoban.com/news/detail-441286.html

到了这里,关于Django笔记四十之运行Django环境的python脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django笔记四十三之使用uWSGI部署Django系统

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十三之使用uWSGI部署Django系统 目前部署 Django 的方式一般来说是使用 Nginx + uWSGI + Django 来实现。 处理流程是,当一个请求发送过来会先经过 Nginx,如果是静态文件请求,Nginx 这一层直接处理,如果是后端动态接口,则会发送

    2024年02月05日
    浏览(66)
  • 【Python小技巧】通过Anaconda虚拟环境解决Python新版本无法运行指定脚本的问题,并实现Notepad++一键运行 Python Anaconda虚拟环境

    笔者今天碰到一个奇怪的问题,Python从3.8升级到3.10 后,一直以来还不错。但今天运行某个函数总是没反应就结束了。刚开始以为是pandas1.5.3升级到2.0.0版本的问题,当时因为2.0pandas运行很快就升级了,先排除这个。把pandas先升级到最新版,不行。后又降到1.5.3版本还是不行。

    2024年02月04日
    浏览(66)
  • Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作 这一篇笔记介绍如何使用 Nginx + uWSGI 来部署 Django。 上一篇笔记中有介绍直接使用 uWSGI 作为 web 服务器来部署 Django,这一篇笔记介绍如何使用 Nginx 来部署。 使用 Nginx 来部署相

    2024年02月05日
    浏览(56)
  • Django笔记四十二之model使用validator验证器

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十二之model使用validator验证器 这一篇笔记介绍一下 model 里的 validator 验证器。 首先,这是个什么东西呢? 在 model 的第四篇笔记里,我们介绍了字段的一些属性,比如是否允许为空,varchar 类型的字段的最大长度等。 一般在

    2024年02月05日
    浏览(55)
  • Docker笔记-搭建Python环境、安装依赖、打包镜像、导入镜像、编写bash脚本灵活调用

    适合无联网的机器及多Python的机器进行部署。 有网络及有docker的,拉取指定版本的python如: 安装好后进入容器: 使用pip安装各种依赖: 千万不要退出,另外启动一个shell,查下目前运行的容器: 制作成新的镜像: 导出新镜像: 找到没联网有docker的机器,导入新的镜像 在新

    2024年02月21日
    浏览(50)
  • 深度学习笔记:搭建基于Python的tensorflow运行环境1

    首先,在系统下创建python虚拟环境目录Venvs,本文我们设置的虚拟环境目录如下:C:Userswuchhvenvs,接下来打开cmd命令窗口 进入创建的目录(C:Userswuchhvenvs)。 在命令行窗口中,执行创建虚拟环境的python3命令,我们将创建一个名为tensorflow的虚拟环境。 在Windows上:我们通过

    2024年02月05日
    浏览(50)
  • macOS下Django环境搭建-docker运行Django

    /Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip $ sudo rm -rf /usr/local/bin/python3  $ sudo rm -rf /usr/local/bin/pip3  $ sudo rm -rf /Library/Frameworks/Python.framework 在官网下载Python macOS安装包 Python Release Python 3.11.4 | Python.org 滑到最下面  下载python-3.11.4-macos11.pkg python3 --version 然后敲

    2024年02月14日
    浏览(41)
  • Linux环境运行mysql脚本

    在学习《MySQL 必知必会》这本书时,里面用到了一些样例表,这些表需要我们在自己的环境执行通过执行脚本填充。然后就可以使用mysql语句进行查询和修改了。在填充时需要用到两个脚本: 在linux环境下运行的方法如下: 1、登录我们自己的myql服务器 2、创建一个新的mysql数

    2024年02月11日
    浏览(47)
  • 无法将“django-admin”项识别为cmdlet,函数,脚本文件或可运行程序的名称问题

    无法将“django admin”项识别为cmdlet,函数,脚本文件或可运行程序的名称问题 小提示:首先检查一下有没有拼写错误!!!没有的话请继续 我们要知道django装到哪里去了 pip show django 注意:3.0版本以上django就没有bin文件了 3.0版本及以下可以通过配置环境变量来解决 检查系统

    2024年02月02日
    浏览(52)
  • Linux postman脚本运行环境配置

    本文主要介绍postman生成的脚本文件在Linux运行所需环境配置,不涉及postman软件安装和使用 postman脚本运行所需软件主要是 newman 和 nodejs 软件 系统 postman Windows 11 newman Linux nodejs Linux Postman下载链接: https://www.postman.com/downloads newman官网: https://www.npmjs.com/package/newman nodejs下载链

    2024年02月06日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包