问题标签 [django-management-command]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 测试django自定义管理命令
我正在努力解决与 django 自定义管理命令相关的问题。这是从 json 文件加载数据的自定义管理命令代码:
当我运行它时:
一切正常,并且表格中有数据。
下一步是创建测试。我试过这个:
bu当我运行它时:
我收到此错误:
python - 在 Django 管理命令中添加了虚假的换行符
在 Python 3.5.0 上运行 Django v1.10:
预期输出:
实际输出:
如何正确传递结束字符?我目前使用明确设置的解决方法:
但是这个 hack 意味着你没有得到 print 函数的所有特性,你必须self.stdout.write
手动使用和准备字节。
html - 来自 Django 管理命令的可下载文件
我已经研究了几天,我仍然无法解决这个问题!希望 StackOverflower 的同事可以在这里帮助我。
所以,现在我有一个自定义的 django 管理命令,它运行一个报告并发送和电子邮件,其中包含作为 xlsx 文件(excel)的报告。现在我想知道是否有一种方法可以在网站上获取该 Excel 报告,以便人们在不想收到电子邮件时可以下载并自行查看。
我已经设置了我的 url 和 html 模板,我现在需要的只是将我的报告的链接(由我的管理命令生成)放入我网站上的模板中,以便任何人都可以下载它!!!请帮忙!我卡住了!
管理命令(精简)
因此,我想提供名为 EDIComplianceReport.xslx 的文件,并允许其他人将其作为 html 模板上的链接下载。
现在它只是在我的本地主机上运行!!! 我有一个想法,将 excel 工作簿保存到一个静态文件夹并从那里抓取它,但我只是想不出将文档嵌入我的模板中的确切代码......
python - Django - 使用管理和共享数据
我正在使用 Django (1.9),我想在管理命令之间共享类对象。
假设 - 简单地说 - 我有一个主应用程序,它实例化了一些类。
我想要的是在另一个命令行调用中访问“myObject”对象。例如,我想知道 myObject 对象何时被实例化。
在示例中,我使用单例模式,因为它似乎接近我想要的。
到目前为止,我只找到了以下解决方案:
1)主应用程序创建一个监听命令行调用的服务器
2)另一个应用程序是该服务器的客户端:
这可以工作,但我有一个手动序列化(在客户端)和反序列化(在服务器端)每个命令。我觉得它很难看,我想知道是否有使用 Django 的最佳方法。
我还可以使用数据库来存储我想要共享的每个对象,但它似乎并不好。
下面的真实用例:
例如,我有一个名为“配置”的应用程序,它能够在文件系统上加载属性文件。(注意:我调用这里介绍的属性文件:docs.python.org/2/library/configparser.html)。当用户运行命令“load-config”时,此应用程序会加载属性文件。然后,我希望我的所有应用程序都可以访问之前加载的配置,而无需重新读取每个属性文件。我想为我的所有应用程序实例化一个“PropertyManager”对象。到目前为止,我将读取的属性存储在数据库中,以便每个应用程序都可以从那里获取它
有什么意见或想法吗?
python - 在 Django 中测试抽象模型
我正在尝试在我的 Django 应用程序中测试抽象基础模型的一些功能。我一直在阅读如何进行这些测试,每个人似乎都说我需要创建一个测试模型。
所以我已经这样做了,我创建了一个名为的目录my_app/tests
并在其中创建了一个models.py
。我的测试模型在哪里UniqueSlugTestModel
。
现在我想我需要在测试应用程序上调用makemigrations
和。migrate
所以我将我的新测试应用程序添加到测试中的设置并调用迁移。但由于某种原因,makemigrations
并migrate
没有看到该my_app.tests
应用程序不在设置中。为什么他们查看的设置与我在测试中覆盖的实时设置不同?
这是在 Django 中测试抽象模型的最佳方法吗?如何让管理命令查看被覆盖的设置?
print(settings.INSTALLED_APPS)
打印出我所有已安装的应用程序,包括我my_app.tests
在其中添加的应用程序。
但它失败了App 'my_app.tests' could not be found. Is it in INSTALLED_APPS?
python - 向自定义 Django management/manage.py 命令添加确认步骤
我按照本教程创建了以下自定义管理命令。
它完全按照我的意愿工作,但我想添加一个确认步骤,以便在for user in users:
循环之前询问您是否真的要向 N 个用户发送消息 X,如果您选择“否”,该命令将中止。
我认为这很容易做到,因为它发生在一些内置的管理命令中,但它似乎没有在教程中涵盖这一点,即使在搜索和查看了内置管理命令的源代码之后,我自己无法弄清楚。
python - Django 任务/命令执行最佳实践/理解
我在理解 django 管理命令方面遇到了一点问题。我有一个 Web 应用程序,它通过 eth0 显示一些网络流量信息。因此,我创建了一个 python 类来分析流量并创建/更新数据库中的特定数据。像这样的东西:
然后我创建一个管理命令来创建这个类实例并运行startAnalyzing()
.
现在我的问题:
这是通过管理命令执行此操作的正确方法吗,因为任务没有终止(一直运行)并且没有通过 web 应用程序启动/停止?或者正确的方法是什么?
不通过 django 启动“分析器”可能更好吗?我是 django 的新手,不想以正确的方式去做。
我运行时是否可以开始嗅探流量:manage.py runserver 0.0.0.0:8080?
提前谢谢了。
python - 从 Django 管理命令导入我的包
我编写了一个最初是命令行工具的包,但我决定对于 Django,它应该从管理命令运行。我已经codequal
使用 安装了我的外部包(称为 )pip install --editable
,并且可以成功地用于manage.py shell
从该包中导入模块:
这工作正常。但是,当我尝试在管理命令中做同样的事情时,我遇到了一个错误:
为什么是这样?我可以使用管理命令中的其他已安装软件包。这可能与我的 setup.py 有关吗?如果需要,我可以发布其中的片段。主要是我想知道这部分是否应该归咎于:
这是否会阻止从某些地方导入模块?我看不出它会如何,因为我可以从manage.py shell
.
python - 管理中的 Django 初始化数据库无法使用持续时间字段运行:错误-“int”对象没有属性“total_seconds”
当我尝试在 Django 的管理中将 load_data 加载到数据库时,diango 中的持续时间字段存在问题。
在models.py中:
管理中的 load_data.py:
在命令之后:python3 manage.py load_data --add-sports 我得到了这个错误:
文件“/home/hubert/workspace/wirtualne_srodowoska/env1/lib/python3.5/site-packages/django/db/models/fields/init .py ”,第 1640 行,在 get_db_prep_value return int(round(value.total_seconds( ) * 1000000)) AttributeError: 'int' 对象没有属性 'total_seconds'
谁能帮我这个?如何修改它?当我将 duration=3000000000 更改为 duration=3000.0 时,我得到: AttributeError: 'float' object has no attribute 'total_seconds'
没有持续时间字段的所有其他模型都可以正常工作:/
python - 具有自定义管理命令值的多个参数
如何将多个带有值的参数从命令行传递到自定义 django 管理命令?
当我运行时:
我得到以下值options
:
尝试在文档和在线搜索解决方案和多种传递参数的方法,但没有成功。Django 版本是 1.10。
谢谢