私は作成しているDjangoサイトを持っていますが、一部のページにビデオを埋め込んでいます。これらの動画はモデルの一部ではありません。私は、ビューを使って再生するビデオファイルを特定し、そのファイルパスをテンプレートに渡すことができるようにしたいだけです。すべてのファイルはローカルにホストされています(少なくとも現在は少なくとも)。 Djangoで使用できますか?もしそうなら、どうしたらいいですか?Djangoサイトにビデオファイルを埋め込む
1
A
答えて
2
あなたがこれを行うことができる2つの方法があります -
方法1: - あなたはどんな時にモデルを使用したくない場合は
、そのパラメータに基づいて、URLと表示映像を渡すパラメータは、
すべての動画をメディアディレクトリに保存していて、すべてが一意の名前(IDとして機能する)を使用しているとします。
your_app/urls.py -
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^video/(?P<vid>\w+)/$',views.display_video)
# \w will allow alphanumeric characters or string
]
プロジェクトのsettings.pyでこれを追加 -
#Change this as per your liking
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
your_app/views.pyを -
from django.conf import settings
from django.shortcuts import render
from django.http import HttpResponse
import os
def display_video(request,vid=None):
if vid is None:
return HttpResponse("No Video")
#Finding the name of video file with extension, use this if you have different extension of the videos
video_name = ""
for fname in os.listdir(settings.MEDIA_ROOT):
if fnmatch.fnmatch(fname, vid+"*."): #using pattern to find the video file with given id and any extension
video_name = fname
'''
If you have all the videos of same extension e.g. mp4, then instead of above code, you can just use -
video_name = vid+".mp4"
'''
#getting full url -
video_url = settings.MEDIA_URL+video_name
return render(request, "video_template.html", {"url":video_url})
その後、あなたの中にテンプレートファイル、video_template.html、ビデオを表示する -
<video width="400" controls>
<source src="{{url}}" type="video/mp4">
Your browser does not support HTML5 video.
</video>
注:パフォーマンス上の問題があります。os.listdir()を使用して、フォルダ内のすべてのファイルを反復処理します。代わりに、可能であれば、共通のファイル拡張子を使用するか、次の方法を使用してください(強くお勧めします)。
方法2:データベース内の動画IDとcorrespondigファイル名を保存する -
方法と使用同じsettings.py、urls.pyとvideo_template.html 1
your_app /モデル.py -
from django.db import models
class videos(models.Model):
video_id = models.CharField(blank=False, max_length=32)
file_name = models.CharField(blank=False, max_length=500)
def __str__(self):
return self.id
your_app/views.py -
あなただけのgoto、動画ID 97veqne0で任意のページにアクセスする場合ので - localhost:8000/video/97veqne0
関連する問題
- 1. ビデオファイルにコードを埋め込む
- 2. パワーBi:MVCサイトにレポートを埋め込む
- 3. 私のサイトにウェブサイトを埋め込む
- 4. WebサイトにExcelワークブックを埋め込む
- 5. 私のウェブサイトにMp4ビデオファイルを埋め込む
- 6. 自分のサイトにYouTubeチャンネルを埋め込む方法
- 7. サイトにYouTubeチャンネルを埋め込む方法は?
- 8. JS私のサイトにgfycatを埋め込む
- 9. 他のサイトにdrupal gmapビューを埋め込む
- 10. サイトにビデオをアップロードして埋め込む
- 11. Sitecoreの特定のサイトにのみ言語を埋め込む
- 12. 他のサイトに埋め込むことを制限する
- 13. ASP.NET WebサイトにNHibernateアセンブリを埋め込む
- 14. 私のサイトにyahoo、google、fbログインを埋め込む
- 15. HTTPSサイトのHTTP iframeにHTTP iframeを埋め込む?
- 16. 私のJoomla!にWMVビデオファイルを埋め込む方法ページまたはHTML
- 17. 埋め込みCodePenはサイト
- 18. symfony 2フォーム、埋め込みコレクションにコレクションを埋め込む
- 19. 埋め込みyoutubeをc/gtkアプリケーションに埋め込む
- 20. 埋め込みウェブページにExcelを埋め込む
- 21. YouTubeチャンネルサイドバーに埋め込む?
- 22. サイト間でウェブコントロールを埋め込む - IFrame/Javascriptを使用する
- 23. AJAXリクエストの後でDjangoフォームにデータを埋め込む
- 24. djangoビューにインタラクティブなBokehを埋め込む
- 25. 別のサイトからのHTMLのセクションを埋め込む?
- 26. HTMLで外部サイトからpdfを埋め込む方法は?
- 27. Sitecore言語複数のサイトを埋め込む
- 28. ツイートを埋め込む
- 29. Pythonスクリプトを埋め込む
- 30. Openfireを埋め込む
あなたはhttps://github.com/jazzband/django-embed-video – nik
あなたドンを見てみたいことがありますこれに対する賞金を提供する必要はありません。それは可能です。 – e4c5