Почему радио-кнопка в моей форме шаблона Django не отображается на экране? - PullRequest
0 голосов
/ 01 июня 2018

Я следую учебному пособию на официальном сайте Django (https://docs.djangoproject.com/en/2.0/intro/tutorial04/), все шло хорошо, пока я не пришел к той части, где мне предложили создать HTML-форму с использованием шаблонов Django, вот шаблон и форма (а именно, подробности.html):

<h1>{{ question.question_text }}</h1>
<ul>
<!--{% for choice in question.choice_set.all %}
       <li>{{ choice.choice_text }}</li>
{% endfor %}-->
<form action="{% url 'polls:vote' question.id %}" method="post">
{% csrf_token %}
{% for choice in question.choice_set.all %}
    <li>{{ choice.choice_text }}</li>
    <label for="choice{{ forloop.counter }}">{{ choice.choice_text}}</label><br />
    <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
      {% endfor %}
 <input type="submit" value="Vote" />
 </form>
 </ul>

     {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} 

Вот вид:

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, 'polls/detail.html', {'question': question})

Часть, с которой я начинаю испытывать проблемы, находится на переключателе (в шаблоне), он не отображается нана экране вообще, вот вывод:

Html Form

Я попытался немного переопределить код в надежде, что может быть синтаксическая ошибка, затем я попыталсянайти решение, посмотрев учебники на YouTube, но безуспешно, кто-нибудь поможет мне?

1 Ответ

0 голосов
/ 22 февраля 2019

Теория: Я просто объясняю следующую строку, прежде чем допущу ошибку.

 {% for choice in question.choice_set.all %}

question: выбранный идентификатор вопроса, который вы выбрали в URL http://localhost:8000/polls/1/ -> 1

.choice_set: это запрос к таблице polls_choice и из-за того факта, что в руководстве был создан внешний ключ для выбора,можно найти соответствующую запись для ID = 1.

.all: означает, что будет использоваться каждая запись со связанным внешним ключом.

Разрешение: Я думаюВы пропустили ту часть урока 02 https://docs.djangoproject.com/en/2.2/intro/tutorial02/, где вам нужно создать запись таблицы для polls_choice. Create_table_entry_polls_choice .Вот почему цикл for не работает, потому что нет записей.Просто повторите это, или создайте руководство для записей в вашей базе данных MYSQL или как вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...