我正在关注Django官方网站(https://docs.djangoproject.com/en/2.0/intro/tutorial04/)的教程,一切顺利,直到我来到他们让我使用Django模板创建html表单的部分,这里是模板和表单(即, detail.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})
我开始遇到问题的部分是在单选按钮(在模板中),它根本不显示在屏幕上,这是输出:
我尝试重新安排代码,希望可能存在语法错误,然后我尝试通过观看youtube上的教程找到解决方案,但没有成功,有人帮我吗?
答案 0 :(得分:0)
理论: 在弄错之前,我只解释下一行。
//../components/my-component.js
import Ember from "ember";
import { func1 } from '../helpers/my-helper';
import { func2 } from '../helpers/my-helper';
import { func3 } from '../helpers/my-helper';
{% for choice in question.choice_set.all %}
:您在URL http://localhost:8000/polls/1/中选择的问题的选定ID-> 1
question
:是对表.choice_set
的查询,并且由于在本教程中创建了Choice的外键,因此可以找到ID = 1的相关条目。
polls_choice
: >
.all
:表示将使用具有相关外键的每个条目。
解决方案: 我想,您跳过了教程02 https://docs.djangoproject.com/en/2.2/intro/tutorial02/的那一部分,您必须在该部分为polls_choice创建一个表条目。 Create_table_entry_polls_choice。这就是为什么for循环未运行的原因,因为没有条目。只需重复一遍,或在您的MYSQL数据库或您使用的任何数据库中创建条目手册即可。
答案 1 :(得分:0)
我可能遇到了同样的问题。
我已经跳过了这一部分:https://docs.djangoproject.com/en/2.2/intro/tutorial02/#playing-with-the-api
在这里,您可以使用API / Python Shell通过命令行手动添加投票选项。