2015-12-21 4 views
0

Я новый в django. Здесь я пытаюсь сделать приложение для опроса, используя django. Я хочу, чтобы отобразить 'вы ввели правильный'если состояние внутри html

if selected_choice='Yellow' 

Вот мой код

def results(request, question_id): 
    question = get_object_or_404(Question, pk=question_id) 
    try: 
     selected_choice = question.choice_set.get(pk=request.POST['choice']) 
    except (KeyError, Choice.DoesNotExist): 
    # Redisplay the question voting form. 
     return render(request, 'polls/detail.html', { 
     'question': question, 
     'error_message': "You didn't select a choice.", 
    }) 
    else: 

     selected_choice.votes += 1 
     selected_choice.save() 
     context_dict={} 
     context_dict['selected_choice']=selected_choice 
     context_dict['question']=question 

     return render(request, 'polls/result.html', context_dict) 

HTML файл

<h1>{{ question.question_text }}</h1> 
{% if selected_choice %} 
    {% if 'Yellow' %} 

    <p> you entered correct </p> 
    {% endif %} 

{% endif %} 


<ul> 
{% for choice in question.choice_set.all %} 
<li>{{ choice.choice_text }} -- {{ choice.votes }} vote{{  choice.votes|pluralize }}</li> 
{% endfor %} 
</ul> 
+0

следующее, если условие в HTML файл не работает должным образом. – sunnysm

+0

Это, если условие внутри html лучше назвать шаблонами :) – aliasm2k

+0

Почему вы разделили оператор 'if' на два оператора? Does '{% if selected_choice == 'Yellow'%}' решить проблему? – soon

ответ

1

Если selected_choice является строкой:

Белое пространство до и после '==' является impo rtant; который обычно пропущен.

{% if selected_choice == 'Yellow' %} 
    <p> you entered correct </p> 
    {% endif %} 

Вы также можете попробовать:

{% ifequal selected_choice 'Yellow' %} 
    <p> you entered correct </p> 
    {% endifequal %} 
+0

i alredy сделал вот так, но не получил ответа – sunnysm

+0

что такое 'selected_choice'? Это объект? Я так полагаю, потому что вы вызываете метод save(). Сохраняете ли вы значение «Желтый» как одно из полей? В таком случае вам нужно указать, что {% if selected_choice.name == "Желтый"%}. – rkatkam

+0

У меня получилось ... преобразую тип (selected_choice) в string.that производит точный ответ – sunnysm

Смежные вопросы