Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django中创建一个web应用程序,创建一个视频(使用moviepy)并播放:从哪里开始?_Python_Django_Moviepy - Fatal编程技术网

Python 在django中创建一个web应用程序,创建一个视频(使用moviepy)并播放:从哪里开始?

Python 在django中创建一个web应用程序,创建一个视频(使用moviepy)并播放:从哪里开始?,python,django,moviepy,Python,Django,Moviepy,我想制作一个web应用程序,用户可以: 单击网页上的按钮创建**随机视频(带moviepy) 在网页上播放该视频 再次单击该按钮可创建一个新的**随机视频,以替换现有视频 **随机视频将使用python/moviepy脚本创建,该脚本将从internet下载大量随机视频剪辑到我的计算机上的目录中。然后将它们编译成一个视频(.mp4文件) 我已经完成了python脚本,它成功地创建了视频文件 为了让这个web应用程序更有价值,我被推荐到django,这就是我被困的地方 到目前为止,我已经安装了

我想制作一个web应用程序,用户可以:

  • 单击网页上的按钮创建**随机视频(带moviepy)
  • 在网页上播放该视频
  • 再次单击该按钮可创建一个新的**随机视频,以替换现有视频
**随机视频将使用python/moviepy脚本创建,该脚本将从internet下载大量随机视频剪辑到我的计算机上的目录中。然后将它们编译成一个视频(.mp4文件)

我已经完成了python脚本,它成功地创建了视频文件

为了让这个web应用程序更有价值,我被推荐到django,这就是我被困的地方

到目前为止,我已经安装了django并掌握了基本知识。。我有一个主页,上面写着“你好,世界”

我的问题是,我该怎么办? 如何将python/moviepy脚本与django连接? 在django中,我应该研究哪些步骤、应用程序、组件等来实现这一点

我是新的编码和一些指导寻找


谢谢

正如我所看到的,Django是用于复杂站点的,您应该寻找Flask。 (我正在学习Django,对Flask一无所知,所以我会继续学习)

以下是所需的设置:

  • 定义用于处理URL的URL模式
  • 创建用于存储视频的模型
  • 为页面创建django模板(html)
  • 定义用于渲染模板的视图(传递视频)
  • 也许需要一些css来设计它
您可以在每次重新加载时运行视频生成器(在视图中)并覆盖现有视频(在这种情况下,您甚至不需要模型),或者您可以保存生成的视频并在URL中捕获ID(例如:
https://yoursite.com/1
),在这种情况下,视频仍然可以共享

如果您选择第一个选项,并且共享视频对您来说并不重要,那么您可以编写一个带有视频和按钮的简单html页面。该按钮可以触发javascript函数来运行视频生成器python脚本并刷新页面(视频被覆盖),您可能需要等待脚本,否则旧视频可以加载

RESTfulAPI是一种更高级的刷新视频的方法,无需重新加载页面

之后,您可以使用Apache服务器部署页面

我试着给你一些指导(我正在自学)


希望有帮助:)这里有相关的教程。

如果您创建了一个模型,那么您的moviepy脚本应该将视频上传到该字段,该字段可以将视频保存在
媒体根目录下的指定目录中(您可以根据日期存储帖子),然后该字段将存储指向它的URL(您需要在
settings.py
中指定
MEDIA\u URL
)。您可以为它们定义某种ID,如果视频隐私不重要,则可以使用模型ID。这些ID可以通过以下方式获得:

在客户端,需要javascript。只需在视图中运行脚本是可能的,但是用户需要等待响应(浏览器应该会超时)。 您应该查看服务器发送的事件。使用Vue.js,您可以在等待事件(生成视频)时轻松显示加载元素,然后下载并切换到视频(请参阅DjangoCRUD应用程序教程)。python脚本可以异步运行(在视图中调用它)

这是很多,我知道。
事实上,我现在要学习这些内容,为错误感到抱歉。

这可以帮助您从js运行python脚本(您可以使用flask中的响应对象):等待python脚本:这将重新加载页面:location.reload();这非常有帮助,谢谢。我希望继续使用django是可以的,因为我已经花了几个小时学习基础知识。我将按照您建议的方法进行工作。还有一个问题,我如何管理多个用户,即如果页面上有多个人并刷新?我不完全了解SSE,我需要通过我的方式完成t、 但正如我所知,你也需要一个视图,在那里你可以调用你的moviepy脚本。当页面加载并初始化SEE时,该视图将被触发。谢谢这将在我到达该阶段时帮助我。