簡體   English   中英

如何在 django 管理命令中給客戶端參數?

[英]how to give the client argument in django management commands?

我在 django 管理命令中有一個 function 應該以 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)

function 是什么並不重要,當通過終端調用命令時,其中的所有內容都有效

但我有一個問題,如何將其實現到客戶端部分? 我希望用戶輸入 url 並將其傳遞給 function。

用戶arguments到django管理命令的傳遞方式有哪些?

結果證明解決方案非常簡單

您只需創建一個與 model 無關的表單,在 function 中創建您需要的字段作為參數,然后將表單中的數據傳遞給您的命令

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,})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM