Как добавить функцию отображения видео форматов с разрешением по выбору пользователя для скачивания - PullRequest
0 голосов
/ 29 января 2020

Код ниже находится в views.py. Я хочу получить переменную у пользователя вместо «360p» после того, как пользователь вставит ссылку на видео. Есть ли способ показать, как получить разрешение от пользователя. Мне нужно принять участие от пользователя. Полный код выглядит примерно так, как показано ниже: https://www.hexascholars.com/code-snippet/youtube-video-download-using-django-and-python/

def get_download(request):
    if request.method == 'GET':
        if(request.GET.get('url')):
            url = request.GET['url']
            try:
                yt = YouTube(url)
                title = yt.title
                stream = yt.streams.filter(res='360p').first()
                path = download_path()
                stream.download(path)
                message = "Download Complete!"
                video = Video()```



1 Ответ

0 голосов
/ 29 января 2020

Если вы хотите сделать это «простым ванильным» способом, то есть без использования django форм, вы можете просто добавить группу радиокнопок или выбор в форму в html, например,

<form method="GET" action="/your/url/">
    <div class="form-group">
        <label>Enter Youtube URL</label>
        <input type="url" class="form-control" required="required" name="link">
    </div>
    <div class="form-group">
        <label>Resolution</label>
        <fieldset>
            <input type="radio" name="res" id="res1" value="360p">
            <label for="res1">360p</label>
            <input type="radio" name="res" id="res2" value="720p">
            <label for="res1">720p</label>
        </fieldset>

    </div>
    <button type="submit" class="save btn btn-success">Download</button>
</form>

По вашему мнению, вы можете извлечь параметр так же, как вы получаете URL:

res = request.GET.get('res')

, а затем использовать "res" вместо вашей жестко запрограммированной строки.

...