关于Django项目如何设置运行其他程序代码的地方


问题描述

例如:我们在写Django项目的时候,会从数据库里面拿数据,但是数据库里面的数据怎么来?如果数据简单,我们可以用Navicat 图形化工具,简单的进行数据的增删改查,但是如果是复杂的数据要从网上爬取的数据怎么办呢?有的人会重新创造一个程序,专门用来爬取数据,但是不推荐不建议这样做,原因有两点

一.麻烦。明明可以一个程序完成,没必要分成两个程序完成

二.数据库可能会出错。我们都知道,Django是通过模型类来关联数据库,在model.py创建的数据库前面会加上项目的名称如下图所示(我这里的项目名称是app根据每个人的项目不同而不同):

一不注意就会忘记还有一个前缀,到时候存入数据库就可能写错。

所以Django项目中有一个专门可以运行其他程序的地方,不影响主程序的运行,对数据的增删改查也可以用模型类来 解决,非常方便,接下来我来介绍一下如何写


一、程序的位置应该放在哪?

在你的项目程序目录下创造一个名为management的目录,里面包含一个名为commands的子目录。在commands目录下创建一个Python文件,例如命名为import_data.py(名字随便取),然后在该文件中编写上述自定义的管理命令如下图所示:

二、里面的程序要注意的点

1.首先保证这个程序所在的程序项目已经在setting.py注册成功了

代码如下(示例):

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "app"
]

2.固定的模板

代码如下(示例):

from django.core.management import BaseCommand


class Command(BaseCommand):
    help = 'Import data from existing data source'

    def handle(self, *args, **options):
        print("hello word")# handle的方法里可以写我们想要执行的程序

我们首先要引用BaseCommand这给库,千万别忘了,固定的模板就是这样写的,当你了解源码流程可以改,不过建议新手小白直接复制粘贴就可以了

3.运行方式

终端运行python manage.py 程序名称,如(我这里的程序名称是import_data)

python manage.py import_data


总结


以上就是今天要讲的内容,本文仅仅简单介绍了如何使用,还有其他的更加详细的用法,可以阅读源码

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值