Как указать аргумент клиента в командах управления django?

У меня есть функция в командах управления django, которая должна принимать url в качестве аргумента

class Command(BaseCommand):
    help = u'Enter the url'
    def add_arguments(self, parser):
        parser.add_argument('url',type=str,help=u'Enter the url')

    def handle(self,*args,**kwargs):
        url = kwargs['url']
        main(url)

не имеет значения, что это за функция, все в ней работает, когда команда вызывается через терминал

но у меня вопрос, как я могу реализовать это в клиентской части? Я хочу, чтобы пользователь вводил url и он передавался в функцию.

Какие способы передачи пользовательских аргументов командам управления django?

решение оказалось очень простым

вы просто создаете форму, не связанную с моделью, создаете поля, которые вам нужны в качестве аргумента в вашей функции, а затем передаете данные из формы вашей команде

def index(request):
    if request.method == 'POST':
        form = AddFilmUrl(request.POST)
        if form.is_valid():
            url = form.cleaned_data.get('url')
            management.call_command('parse',url)
    else:
        form = AddFilmUrl()
    return render(request, 'addfilm.html', {'form':form,})
Вернуться на верх