如何解决选择 HTML 中的更改,不起作用 (Django)
我有一个问题模型。
我的模型models.py
class Problems(models.Model):
Easy = 'Easy'
Medium = 'Medium'
Hard = 'Hard'
NA = 'NA'
DIFFICULTY = [
(NA,'NA'),(Easy,'Easy'),(Medium,'Medium'),(Hard,'Hard'),]
....
name_problem = models.CharField(max_length=150)
difficulty = models.CharField(max_length=150,choices=DIFFICULTY,default=NA)
....
我已经连接了一个 django 过滤器
我的filters.py
class ProductFilter(django_filters.FilterSet):
Easy = 'Easy'
Medium = 'Medium'
Hard = 'Hard'
NA = 'NA'
DIFFICULTY = [
(NA,]
name_pr = django_filters.CharFilter(field_name='name_problem',lookup_expr='icontains')
diff = django_filters.ChoiceFilter(field_name='difficulty',choices=DIFFICULTY)
class Meta:
model = Problems
fields = ['name_pr','diff']
我的views.py
from .models import Problems
from .filters import ProductFilter
class MyProblemView(View):
def get(self,request):
problems = Problems.objects.all()
filter = ProductFilter(request.GET,queryset=problems)
problems = filter.qs
context = {
'problems': problems,'filter': filter,}
return render(request,'problems/problems.html',context)
最后html
{% load static %}
{% load widget_tweaks %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container">
<form action="/" name="form" method="get">
{{ filter.form.diff }}
<input type="submit" />
</form>
</div>
{% for problem in problems %}
<p id="text"> {{ problem.name_problem }}
</p>
{% endfor %}
</body>
</html>
当表单中有按钮时,它起作用
但我希望它没有按钮可按。我不精通 JavaScript。所以我写了一个简单的函数在 HTML SELECT
上使用,但它不起作用。
<div class="container">
<form action="/" name="form" method="get">
{% render_field filter.form.diff name='formsel' onchange='fav()' %}
<input type="submit" />
</form>
</div>
{% for problem in problems %}
<p id="text"> {{ problem.name_problem }}
</p>
{% endfor %}
<script>
function fav() {
document.getElementById("text").innerHTML = form.formsel[form.formsel.selectedIndex].text
}
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。