gpt4 book ai didi

python - 在传入设置时使用 shell 脚本运行自定义 django manage.py 命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:14 25 4
gpt4 key购买 nike

使用 Django 1.5

我想在传递设置时使用 shell 脚本运行自定义 django manage.py 命令(即不使用同一目录中的设置)。

作为传递我的设置的示例,如果我运行我的 django 开发服务器,我会这样做:

python manage.py runserver ip:port --settings=my.namespace.settings

在与我的 manage.py 文件相同的目录中,我有我的 shell 脚本:myscript

myscript的当前内容:

#!/bin/bash
./manage.py shell --settings=my.namespace.settings

myscript 的目录中,运行 ./myscript 确实为我提供了具有正确应用程序设置上下文的 django shell(我已经通过将自定义变量 TEST_VAR,在我的应用程序设置中,它通过 from django.conf import settings > settings.TEST_VAR 在 django shell 中正确输出).

现在我更改 myscript 以运行我的自定义命令:

#!/bin/bash
./manage.py custom_command --settings=my.namespace.settings
PROMPT: Unknown command: 'custom_command'

我已经 followed these instructions创建我的自定义 Django 命令。

我的目录结构如下所示:

my.namespace
__init__.py // & other django app files/dirs
management // directory
__init__.py
commands // directory
__init__.py
custom_command.py

custom_command.py:

from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):
args = 'test'
help = 'test help'

def handle(self, *args, **kwargs):
print 'test'

同样,运行 myscript 给我 unknown command。有什么想法吗?

最佳答案

问题可能出在您的 INSTALLED_APPS 列表上。检查您的 settings.py 文件以确认 my.namespace 包含在 INSTALLED_APPS 设置中。

关于python - 在传入设置时使用 shell 脚本运行自定义 django manage.py 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37954167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com