Django 的 call_command 因缺少必需参数而失败

2023-12-15

我想从我的一个测试中调用 Django 管理命令。我在用着django.core.management.call_command为了这。但这不起作用。

我有一个带有 4 个必需参数的命令。当我调用它时,它抱怨所有参数都丢失了,即使我正在传递它们:

call_command('my_command', url='12', project='abc', website='zbb', title='12345')

我收到基本命令错误,缺少 --url、--project、--website 和 --title。

我没有为这些参数指定不同的目的地。

我看了看call_command源并将问题定位到以下行call_command:

if command.use_argparse:
    # Use the `dest` option name from the parser option
    opt_mapping = {sorted(s_opt.option_strings)[0].lstrip('-').replace('-', '_'): s_opt.dest
                   for s_opt in parser._actions if s_opt.option_strings}
    arg_options = {opt_mapping.get(key, key): value for key, value in options.items()}
    defaults = parser.parse_args(args=args)    ****** THIS *****
    defaults = dict(defaults._get_kwargs(), **arg_options)
    # Move positional args out of options to mimic legacy optparse
    args = defaults.pop('args', ())

args是传递给 call_commands 的位置参数,它是空的。我只传递命名参数。parser.parse_args抱怨缺少所需的变量。

这是 Django 1.8.3 中的内容。

这是我的命令的 add_arguments 函数(为了简洁起见,我刚刚删除了帮助字符串):

def add_arguments(self, parser):
    parser.add_argument('--url', action='store', required=True)
    parser.add_argument('--project', action='store', required=True)
    parser.add_argument('--continue-processing', action='store_true', default=False)
    parser.add_argument('--website', action='store', required=True)
    parser.add_argument('--title', action='store', required=True)
    parser.add_argument('--duplicate', action='store_true',default=False)

根据您发布的那段代码,我得出结论call_command 参数是必需的

所需的命名参数必须通过*args,不仅仅是位置。

**kwargs绕过解析器。所以它看不到您在那里定义的任何内容。**kwargs可能会覆盖*args值,但是*args每个必需的参数仍然需要一些东西。如果您不想这样做,请关闭required属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 的 call_command 因缺少必需参数而失败 的相关文章

  • 尝试从网页Python和BeautifulSoup获取编码

    我试图从网页检索字符集 这会一直改变 目前我使用 beautifulSoup 来解析页面 然后从标题中提取字符集 这工作正常 直到我遇到一个网站 到目前为止 我的代码以及与其他页面一起使用的代码是 def get encoding soup
  • Python re无限执行

    我正在尝试执行这段代码 import re pattern r w w s re compiled re compile pattern results re compiled search COPRO HORIZON 2000 HOR p
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • 如何在 Python 中的函数入口、内部和退出处进行日志记录

    我希望能够使用 Python 日志记录工具在我的代码中进行简单且一致的日志记录 我能够执行以下操作 我希望所有现有 未来的模块和函数都有 输入 和 完成 日志消息 我不想添加相同的代码片段来定义日志记录参数 如下所示don t want t
  • 更改QLineEdit的ClearButton图标

    我想在Windows 10 1909 64位 上的Python 3 8和PyQt5 5 15 0 上更改我的QLineEdit的ClearButton图标 稍后我想在Linux上运行代码 我尝试应用此处找到的代码 如何在 QLineEdit
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • django orm:select_lated,用假外键欺骗反向外键除了模型之外,会出现什么问题?

    我正在尝试学习如何使用 Django 的 ORM 进行更高级的查询 而不是使用原始 sql select related进行连接以减少数据库命中 原则上它可以进行我手动执行的连接 但有一个问题 它不使用反向外键关系来制作sql 对于我的架构
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • PIL.Image.open和tf.image.decode_jpeg返回值的区别

    我使用 PIL Image open 和 tf image decode jpeg 将图像文件解析为数组 但发现PIL Image open 中的像素值与tf image decode jpeg不一样 为什么会出现这种情况 Thanks 代
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • 使用 suds SOAP 库进行 HTTP 身份验证的奇怪行为

    我有一个正在运行的 python 程序 它使用 suds 通过 SOAP 获取大量数据 Web服务是通过分页功能实现的 这样我就可以抓取nnn每个 fetch 调用的行并获取下一个nnn与后续的电话 如果我使用如下代码向 HTTP 服务器进
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • 跨应用程序使用 Django 模型?

    因此 在我的 Django 项目中 我有几个不同的应用程序 每个应用程序都有自己的模型 视图 模板等 让这些应用程序进行通信的好方法 Django 方式 是什么 一个具体的例子是一个会议应用程序 它有一个会议模型 我有一个家庭应用程序 我想
  • 使用 selenium 和 python 来提取 javascript 生成的 HTML?萤火虫?

    这里是Python新手 我遇到的是数据收集问题 我在这个网站上 当我用 Firebug 检查我想要的元素时 它显示了包含我需要的信息的源 然而常规源代码 没有 Firebug 不会给我这个信息 这意味着我也无法通过正常的 selenium
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a
  • Heroku 与 django 通道的正确 procfile/要求是什么?

    tl dr django 频道应用程序在本地使用 manage py runserver 运行 但不在 heroku 上运行 我是 django 通道的新手 尝试使用 heroku 通道部署一个非常基本的 django 应用程序 我最初使用
  • 如何使用xlwt设置文本颜色

    我无法找到有关如何设置文本颜色的文档 在 xlwt 中如何完成以下操作 style xlwt XFStyle bold font xlwt Font font bold True style font font background col

随机推荐

  • 如何在 jQuery 中获取第一个元素而不是使用 [0]?

    我是 jQuery 的新手 如果这是一个愚蠢的问题 我深表歉意 当我使用它使用 id 查找元素时 我知道总是有一个匹配项 为了访问它 我将使用索引 0 有更好的方法吗 例如 var gridHeader grid GridHeader 0
  • 将包含字典的单元格分解为 Pandas 中的多行[重复]

    这个问题在这里已经有答案了 如何将包含字典的单元格中的内容分解为 Pandas 中的多行 ID CODES A 1407273790 5 1801032636 20 1174813554 1 1215470448 2 1053754655
  • 加载多个 javascript 文件 - jquery

    我使用下面的代码动态加载js脚本 getScript site js test js done function script textStatus console log test js textStatus 如果我想在同一段代码中加载多
  • 简单的 D3 演示不适用于更改后的结构

    我正在关注official教程 由于结构相当简陋 我决定做一个更干净的结构
  • 从简单的 get 返回 403 Forbidden 但在浏览器中加载正常

    我试图从页面获取一些数据 但它返回错误 403 禁忌 我以为是用户代理 但我尝试了几个用户代理 它仍然返回错误 我也尝试使用图书馆假用户代理但我没有成功 with requests Session as c url headers User
  • 可放入 Famous.js 中吗?

    我正在尝试在known djs 中实现可拖动 可放置的图像 也就是说 如果图像掉落到正确的表面上 就会触发事件 在我的可拖动图像上 我正在监听 touchend 事件 这里没问题 我还有一个连接到我的 目标 表面的 touchend 事件
  • 为什么 List 分区有效而 span 无效

    我有这个 Char Int pars 的列表 它包含仅具有唯一 Char 值的对 List 3 d 1 e 3 h 3 i 1 l 3 o 2 r 2 t 1 w 1 我需要将此列表分为 2 个 一个包含任何具有 d 字符的对 另一个是其余
  • Python 2.7:奇怪的 Unicode 行为

    我在 Python 2 7 中遇到以下行为 gt gt gt a1 u U0001f04f 1 gt gt gt a2 u ud83c udc4f 2 gt gt gt a1 a2 3 False gt gt gt a1 encode ut
  • 限制 Azure Functions 队列上的并发作业数

    我在 Azure 中有一个函数应用程序 当将项目放入队列时会触发该应用程序 它看起来像这样 大大简化 public static async Task Run string myQueueItem TraceWriter log using
  • M/PowerBI/PowerQuery 中的 [column] 和 Table.Column(Table, "column") 有什么区别

    再见 我对 column 和 column 之间的差异有疑问表 Column 表 列 在 M PowerBI PowerQuery 中 示例表 柱子1 a2 b3 c 期望的结果 柱子1 测试2 测试3 测试 所以 我目前有以下代码 Tab
  • YouTube iOS SDK:正确的 GTLQueryYouTube 参数以过滤掉无法在移动设备上播放的视频?

    我正在尝试找到正确的 GTLQueryYouTube 参数来过滤掉无法在移动设备上播放的视频 在 iOS UIWebView 中 videoEmbeddable 和 videoSyndicated 参数限制过多 它们会过滤掉所有 VEVO
  • C++ 模板 - 指定容器类型及其所持有的容器元素类型

    我希望能够创建一个函数 在其中指定一个参数以同时具有模板化容器和该容器的模板化元素类型 这可能吗 我收到 错误 C2988 无法识别的模板声明 定义 等信息 这是有问题的函数 template
  • 如何计算卷积神经网络的参数个数?

    我正在使用 Lasagne 为 MNIST 数据集创建 CNN 我密切关注这个例子 使用 Python 进行卷积神经网络和特征提取 我目前拥有的 CNN 架构 不包含任何 dropout 层 是 NeuralNet layers input
  • Python如何读取和解释源文件?

    假设我运行一个 Python 2 7 尽管我不确定这在这里有什么不同 脚本 我没有终止脚本 而是退出 或者以某种方式切换回我的编辑环境 然后我可以修改脚本并保存它 但这不会改变仍在运行的脚本中的任何内容 Python 在启动时是否将所有源文
  • 从数据库 SQL oracle 保存和获取 blob 时出错

    我试图将 CLOB 保存到数据库中并恢复它 但我收到 SQLException Caused by java sql SQLException Lob read write functions called while another re
  • 在 iPhone 上混合音频

    我有许多静态音频文件 我希望能够动态地混合在一起并在 iPhone 上播放 不是一次性全部播放 最常见的情况是将两个或三个音频流混合到一个流中 我该用什么 我知道 OpenAL 和音频单元可能有用 但哪一个呢 为了快速启动 是否有具体的代码
  • 用笑话和酶在 React 中测试表单

    我完全迷失了尝试测试用 React 制作的简单表单 我如何知道提交按钮是否正常工作 经过一番研究后 我认为这样做的方法是创建一个模拟函数 然后检查它是否被调用 但我很确定我做的完全错误 onObjSubmit event event pre
  • Tensorflow lite 对象检测示例中相机的屏幕尺寸

    在tensorflow lite示例对象检测中 相机不会拍摄整个屏幕 而只会拍摄一部分 我试图在 CameraActivity CameraConnectionFragment 和 Size 类中找到一些常量 但没有结果 所以我只是想要一种
  • 在 R 中查找并替换两个字符串之间的文本

    我在一些 Rscripts 中创建了一些关于 R 的教程 我需要一个讲义集 HS 和一个没有答案的编码集 CS 学生可以在其中编码 我需要一些帮助正则表达式来搜索 HO 中的答案部分 以便我可以将其从 CS 中删除 在 HS 中 我在答案之
  • Django 的 call_command 因缺少必需参数而失败

    我想从我的一个测试中调用 Django 管理命令 我在用着django core management call command为了这 但这不起作用 我有一个带有 4 个必需参数的命令 当我调用它时 它抱怨所有参数都丢失了 即使我正在传递它