Я новичок в django, и я хочу создать панель поиска в моей сети В моем Интернете я отображаю список form.ModelMultipleChoiceField. И после того, как я добавлю панель поиска в свой веб, список не изменится на то, что я хочу искать.
Это моя форма в html-файле:
<form method="GET" action="{% url 'diagnosis_penyakit:search' %}">
<p style="margin-left: 700px;">Gejala : </p>
<input type="text" name="q" value="{{ request.GET.q }}" id="data" class="form-control" placeholder="Cari gejala disini" style="width: 500px; margin-left: 700px">
<button class="btn btn-success" type="submit" style="margin: 3rem; margin-left: 900px">
Search
</button>
</form>
Это мои views.py:
def search(request):
template = 'penyakit/home.html'
query = request.GET.get('q')
results = Gejala.objects.filter(Q(gejala__contains=query))
print(results, "search test")
if request.user.is_authenticated:
form_review = ReviewUserForm(request.POST or None)
form = UserResponseForm(request.POST or None)
list_rev_user = []
rev_user = ReviewFromUser.objects.all().filter(user_id=request.user.id)
for rev in rev_user:
list_rev_user.append(rev.number_diagnosis)
num_diagnosis = UserAnswer.objects.all().filter(user_id = request.user.id).order_by("-number_diagnosis")
num = list_rev_user.count(num_diagnosis[0].number_diagnosis)
if len(num_diagnosis)>0:
user_answer = UserAnswer.objects.all().filter(user_id = request.user.id, number_diagnosis = num_diagnosis[0].number_diagnosis)
diagnosis = DiagnosisPenyakit.objects.all().filter(user_id = request.user.id, number_diagnosis = num_diagnosis[0].number_diagnosis).order_by("-total_point")
context = {
"form": form,
"form_review" : form_review,
"user_answer" : user_answer,
"diagnosis" : diagnosis,
"hasil_diagnosis": diagnosis[0],
"num" : num,
"query" : query,
}
return render(request, "penyakit/home.html", context)
else:
context = {
"form": form,
}
return render(request, "penyakit/home.html", context)
else:
raise Http404
return render_to_response(request, template, context)
Это мой url.py:
url(r'^results/$', views.search, name='search'),
А это мой forms.py:
class UserResponseForm(forms.Form):
gejala_id1 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=1).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
gejala_id2 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=2).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
gejala_id3 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=3).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
gejala_id4 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=4).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
gejala_id5 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=5).order_by('gejala'), widget=forms.CheckboxSelectMultiple, required=False)
И я хочу добавить панель поиска, и я попробовал это с вышеупомянутым, и это не работает. Надеюсь, что кто-то может помочь мне добавить панель поиска в моей сети. Как я уже сказал, я очень новичок в джанго.