0

下面的代码在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()```



4

1 回答 1

0

如果您想以“普通香草”方式进行操作,即不使用 django Forms,您只需在 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”而不是您的硬编码字符串。

于 2020-01-29T17:44:49.050 回答