从django自定义命令请求输入?

时间:2022-06-12 23:18:37

I've made a custom command in django to delete a set account in CMD, but I want to be able to run the python file and have the command line ask me for the account number to delete then have it delete. This is what I have so far.

我在django中创建了一个自定义命令来删除CMD中的一个设置帐户,但是我希望能够运行python文件并让命令行询问我要删除的帐号然后删除它。这就是我到目前为止所拥有的。

from django.core.management.base import BaseCommand, CommandError
from accounts.models import client

class Command(BaseCommand):

    args = '<client_id client_id ...>'
    help = 'Closes the specified account.'

    def handle(self, *args, **options):
        for client_id in args:
            try:
                x = client.objects.get(pk=int(client_id))
            except client.DoesNotExist:
                raise CommandError('Client "%s" does no exist' % client_id)

            x.delete()

            self.stdout.write('Successfully closed account "%s"' % client_id)

1 个解决方案

#1


10  

Use the built-in raw_input() function:

使用内置的raw_input()函数:

def handle(self, *args, **options):
    if args:
        ids = args
    else:
        ids = raw_input('Enter comma-delimited list of ids: ').split(',')
    for client_id in ids:
        ...

#1


10  

Use the built-in raw_input() function:

使用内置的raw_input()函数:

def handle(self, *args, **options):
    if args:
        ids = args
    else:
        ids = raw_input('Enter comma-delimited list of ids: ').split(',')
    for client_id in ids:
        ...