Как отобразить вопросы для пользователя и сравнить их с помощью «если» «иначе» экспертной системы высказываний django? - PullRequest
1 голос
/ 19 января 2020

Я сохранил правила в базе данных в форме вопросов и хочу задать вопросы пользователю, а затем сделать вывод. Я хочу, чтобы вопросы отображались на экране пользователя с опцией «да» или «нет», и задавал дополнительные вопросы в соответствии с выбором. я не могу найти решение, как мне сравнить пользовательский ввод с внешнего интерфейса с бэкендом (django), пока я пытался

views.py

def fetch_rules(request):
    if request.method=='POST':
        issueid=request.POST['issueid']
        rules=Rules.objects.all().filter(parentissue=issueid)
        return render(request,"questions.html",{"rules":rules})
    else:
        return HttpResponse("Not found")

template

{% extends 'base.html' %}
{% block content%}
<div class="questionwrapper">
    {% for rul in rules %}
<div class="question">
    <h1>{{rul.question}}</h1>
</div>
<div class="solution"> 
<p>{{rul.solution}}</p>

</div>

<p style="text-align: center;font-weight: bold;">Your issue solved?</p>
<div class="question_btns">
    <a id="yes_q"  >Yes</a>
    <a id="no_q"  >No</a>
</div>
{%endfor%}
</div>
{% endblock %}[![My template][1]][1]

В настоящее время в шаблоне отображаются все вопросы, но я хочу, чтобы они отображались по одному, а затем отображались один за другим по выбору пользователя.

1 Ответ

1 голос
/ 20 января 2020

Если вы хотите добавлять контент динамически, вы должны использовать интерфейсную технологию. Все, что вам нужно сделать, это спрятать вопросы, используя CSS display:none, затем сделать события onclick на кнопках, и простой скрипт JS изменит отображение определенного c child display:nth-child(n):inline-block

Вы также можете сделать что-то подобное, используя идентификатор объекта, например:

<div class="question" data-id={{rul.question.id}}>
    <h1>{{rul.question}}</h1>
</div>

И теперь вы можете сортировать или отображать объекты с идентификатором данных и JavaScript

...