У меня есть 3 кнопки, которые должны изменять поведение видео на странице в зависимости от выбранных выпадающих меню.Но пользователь выбирает вариант из выпадающего списка, видео не взаимодействуют.
Это внешний интерфейс.Когда я выбираю что-то, например, на языке, видео должно меняться, но это не так.
Страница заканчивается на http://localhost:8000/?language=EN&level=LEV&category=CAT затем разрывается страница
Я попытался добавить reverse_url для представлений, но это все равно не исправило ошибку.
def home(request):
filter_form = AMLVideoFilterForm(request.GET)
videos = AMLVideo.objects.all()
category = filter_form.data.get('category')
if category:
videos = videos.filter(
category__exact=category
)
language = filter_form.data.get('language')
if language:
videos = videos.filter(
language__exact=language
)
level = filter_form.data.get('level')
if level:
videos = videos.filter(
level__exact=level
)
videos = videos.order_by("-category", "-language", "-level")
context = {'videos': videos, 'filter_form': filter_form, 'level': level, 'language': language, 'category': category,}
return render(request, 'home.html', context)
Файл forms.py:
class AMLVideoFilterForm(forms.Form):
LANGUAGE = [
('LAN', 'Language'),
('EN', 'English'),
('FR', 'French'),
('HIN', 'Hindi'),
('SPA', 'Spanish'),
('GER', 'German'),
]
LEVEL = [
('LEV', 'Level'),
('BEG', 'Beginner'),
('INT', 'Intermediary'),
('ADV', 'Advanced'),
]
CATEGORY = [
('CAT', 'Category'),
('ADN', 'Adventure'),
('ANI', 'Animal'),
('ENV', 'Environmental'),
('MOR', 'Moral'),
('FOLK', 'Folktales'),
('POE', 'Poems'),
('FUN', 'Funny'),
]
language = forms.ChoiceField(
required=False,
choices=LANGUAGE,
widget=forms.Select(
attrs={
'onchange' : "this.form.submit()",
'class':'button waves-effect waves-light btn mt-10 mb-10 center-align'
}
)
)
level = forms.ChoiceField(
required=False,
choices=LEVEL,
widget=forms.Select(
attrs={'onchange' : "this.form.submit()",
'class':'button waves-effect waves-light btn mt-10 mb-10 center-align'
}
)
)
category = forms.ChoiceField(
required=False,
choices=CATEGORY,
widget=forms.Select(
attrs={'onchange' : "this.form.submit()",
'class':'button waves-effect waves-light btn mt-10 mb-10 center-align'
}
)
)
Это шаблон внешнего интерфейса
<section class="section-padding portfolio-container">
<div class="container center-align">
<div class="row">
<form method="GET">
{{ filter_form }}
</form>
</div>
</div>
</section>
<!-- VIDEOS -->
<section class="section-padding">
<div class="container">
<div class="row">
<div>
{% if videos %}
{% for v in videos %}
{% video v.video as my %}
<iframe width="{{ 380 }}" height="{{ 225 }}" src="{{ my.url }}"
frameborder="0" allowfullscreen></iframe>
{% endvideo %}
{% endfor %}
</div>
</div> <!-- Row -->
</div> <!-- container -->
</section>
Кто-нибудь знаком с этим?