Django Pytube on heroku не скачивает видео - PullRequest
0 голосов
/ 31 марта 2020

Итак, я строил загрузчик видео на django с pytube и heroku для хоста, но загрузчик ничего не загружает, когда я использую его на heroku.

#tools/views.py    

from django.shortcuts import render
    from pytube import YouTube
    import os.path
    from django.contrib import messages

    def index(request):
        return render(request,'tools/templates/index.html')

    def download(request):
        try:
            homedir = os.path.expanduser("~")
            dirs = homedir + '/Downloads'
            if request.method == "POST":
                url = request.POST['kualitas']
                yt = YouTube(request.POST.get('link'))
                if url == "rendah":
                    try:
                        a = yt.streams.filter(progressive=True).get_lowest_resolution()
                        a.download(dirs)
                        messages.success(request, 'Video berhasil diunduh! (Kualitas Rendah)')
                    except:
                        messages.error(request,'Maaf, video dengan resolusi itu tidak ditemukan')
                else:
                    try:
                        a=yt.streams.filter(progressive=True).get_highest_resolution()
                        a.download(dirs)
                        messages.success(request, 'Video berhasil diunduh!')
                    except:
                        messages.error(request,'Maaf Video gagal diunduh')
        except:
            messages.error(request, "Masukkan link dengan benar")

        return render(request, 'tools/templates/download.html')

#tools/templates/download.html

{% extends 'base.html' %}{% block content %}{% load static %}
    <head>
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .btn-aqua {
    background: #0297FF;
    color: #fff;
}
.btn-aqua:hover {
    background: #10629b;
    color: #fff;
}
              body{
              background: url("{% static 'bg4.jpeg' %}") no-repeat center center fixed;
                -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
          }
        .gambar {
            float: right;
            width: 29.5%;
        }
    </style>
    </head>
    <body>
    <img class="gambar" src="{% static 'fiona.png' %}" alt="fiona">
<div class="container">
    <div class="col-md-8 card mb-5  mt-7 left  top">
      <div class="card-body">
    <h2 style="text-align: center">Pengunduh Video Youtube Fiona</h2>
    {% if messages %}
      {% for message in messages %}
        {% if message.tags == 'success' %}
        <div class="alert alert-success">{{ message }}</div>
              {% else %}
              <div class="alert alert-danger">{{ message }}</div>
          {% endif %}
      {% endfor %}
  {% endif %}
    <form method="POST" class="post-form">{% csrf_token %}
        <div class="form-group">
        <label for="link">Masukkan Link Video Youtube</label>
            <input id="link" type="url" class="form-control" required="required" name="link">
            <label for="kualitas">Pilih Kualitas:</label>
            <select id="kualitas" class="custom-select mr-sm-2" name="kualitas">
                <option value="rendah">Rendah (240p-360p)</option>
                <option value="tinggi">Tinggi (360p-1080p)</option>
            </select>
    </div>
        <button type="submit" class="btn btn-default">Unduh!</button>
    </form>
</div>
</div>
  </div>
    </body>
{% endblock %}

Когда я использую localhost, видео скачивается нормально. Но когда я использую загрузчик на heroku, он ничего не загружает, хотя messages.success всплыло. Как это исправить, и если можно, я хочу подключить это к диспетчеру загрузки браузера, чтобы при нажатии кнопки «Загрузить» он отображал загружаемый файл в диспетчере загрузки браузера и на android показывался на панели уведомлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...