【问题标题】:Linux Apache Django video static file issueLinux Apache Django 视频静态文件问题
【发布时间】:2018-07-22 05:29:33
【问题描述】:

Ubuntu 16.04、Apache、python 3.6 和 django。

我的视图正在为我的模板提供静态视频文件的路径。运行 manage.py 开发服务器运行良好。它在 apache 服务器上无法正常工作。我重新加载了 apache 但仍然得到:

在 Firefox 中出现“未找到支持格式和 MIME 类型的视频”消息。

Apache 没有完整路径,只是我的 django 应用程序的相对路径。所以我传递了模板的完整路径。我得到相同的错误,开发和 apache 服务器。我从模板中提取了 HTML,它工作正常;播放的视频。

www-data 一直到文件和目录都有 rwx。不知道发生了什么。任何帮助表示赞赏。

【问题讨论】:

  • 为了简化,我尝试在没有 django 的空虚拟主机上显示图像,但仍然遇到同样的问题。最后切换到相对路径并且它起作用了。因此,我将文件放在 html_public 目录中,而不是 /var/www/test2.com/html_public/heart.png 并使用 。 html_public 是站点配置文档根目录。

标签: python django linux apache static


【解决方案1】:

尝试将以下内容添加到.htaccess 文件

# MIME types for Video
AddType video/mp4 mp4 m4v f4v f4p
AddType video/ogg ogv
AddType video/webm webm
AddType video/x-flv flv

【讨论】:

  • 没用;让我们尝试一些没有空格的更简单的图像文件。只需几秒钟即可添加我的代码。
  • Firefox 可以用这个打开一个文件 test.html
  • 我的模板:{% load static %}
  • Apache 配置:别名 /media/ /var/www/myproject/mediaserver/static/mediaserver/video/ 需要所有授予
  • settings.py: STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/"), '/var/www/myproject/mediaserver/static/mediaserver/video/', )跨度>
【解决方案2】:

解决了!!!

我试图将我的静态文件存储在其他地方 (app_name/static/app_name),但它不起作用。

首先运行这段代码来收集静态文件:

$python manage.py collectstatic

然后重新加载服务器:

sudo service apache2 reload

然后更新我的模板指向settings.py中的项目静态目录:

{% load static %}

<video width="320" height="240" controls>
    <source src="{% static "mediaserver/video/Baby Jack 2010.02.06.mp4" %}">
</video>

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 2011-03-15
    • 1970-01-01
    • 2013-11-22
    • 2020-11-06
    • 2018-10-21
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多