Ich versuche eine Seite zu erstellen, auf der ein YouTube-Player mit einem Standard-Video geladen ist. In der Sidebar habe ich ein paar Bilder von anderen Videos. Wenn auf eines der Bilder geklickt wird, lädt sich die Vorlage selbst neu, aber der YouTube-Player spielt jetzt das andere Video. Jedes dieser Bilder hat eine YouTube-URL, die beim Klicken abgespielt werden muss. Sehr ähnlich wie die YouTube-Seite eines Videos.Links als Variablen werden nicht korrekt von der Vorlage an urls.py an views.py weitergeleitet.
HTML:
<div class="col-md-12 col-xs-12 video_menu_item">
<div class="video_menu_description">
<a href="/library/videos/" value="https://www.youtube.com/embed/EWrT-aBDxeI" name="para">
<img src="/images/X.jpg" alt="Video name thumbnail" style="width:60%;height:100px;">
</a>
</div>
</div>
<div class="video_section_outer">
<div class="col-md-12 col-xs-12 video_scroll_track">
<div class="col-md-12 col-xs-12 video_item_outer">
<h4 class="col-md-12 col-xs-12 video_track_sub_heading"><b>video.v_name</b></h4>
<div class="col-md-12 col-xs-12 test_button_start">
<iframe width="420" height="315" src="{{ link }}" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
URLS.PY:
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
# Video Sections
url(r'^library/tests/', 'bt.views.tests', name='tests'),
url(r'^library/videos-(?P<link1>[\w-]+)/', 'bt.views.videos', {'link': 'para'}),
url(r'^library/videos/', 'bt.views.videos', name='videos'),
]
VIEWS.PY:
@csrf_exempt
def videos(request, link1 = "https://www.youtube.com/embed/Qj4nEYQA9ks"):
content = {"link" : link1}
return render_to_response('videos.html', content)
Sie müssen entweder Ajax für jeden Link wie hier http://stackoverflow.com/questions/13337731/using-the-django-url-tag-in-a-ajax-call oder json zurückgeben. Sie versuchen, eine einseitige App zu erstellen, während Sie eine Ansicht aufrufen, die Ihre Vorlage vollständig neu lädt, also müssen Sie sie entweder ajaxifizieren oder json zurückgeben und mehr Berechnungen am Frontend durchführen. Sehen Sie mehr auf diesem https://impythonist.wordpress.com/2015/06/16/django-with-ajax-a-modern-client-server-communication-practise/ – dmitryro