прибудет() не принимает никаких аргументов ключевых слов: Django учебник с различными моделями
Вот мой взгляд азартных игр в views.py
def gambling(request, profile_id):
Profile = get_object_or_404(profile, pk=profile_id)
coin = get_object_or_404(Coin, pk=profile_id)
try:
selected_choice = coin.Face.get(pk=request.POST['name'])
except (KeyError, Coin.DoesNotExist):
# Redisplay the question voting form.
return render(request, 'gamble/detail.html', {
'Profile': Profile,
'error_message': "You didn't select a choice.",
})
else:
selected_choice.Face
selected_choice.save()
return HttpResponseRedirect(reverse('gamble:results', args=(profile.id,)))
Вот форма в detail.html
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
<form action="{% url 'gamble:gambling' Profile.id %}" method="post">
{% csrf_token %}
{% for choice in coin.Face %}
<input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
<label for="choice{{ forloop.counter }}"> {{ choice }}</label><br />
{% endfor %}
<input type="submit" value="flip" />
</form>
Вот мой код для профиля модели и монеты в models.py
# Create your models here.
class profile(models.Model):
name = models.CharField(max_length=120)
description = models.TextField(default='description default text')
def __unicode__(self):
return self.name
class Coin(models.Model):
#choice = models.ForeignKey(BetAmount, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200, default="...")
flip = randint(0,1)
Heads =0
Tails =1
Face ={
"Heads": Heads,
"Tails": Tails
}
def __str__(self):
return self.choice_text
def flipped(self):
return self.flip
Я продолжаю получать сообщение об ошибке .get(), хотя я передаю имя формы, я не уверен, связано ли это с самим объектом Coin, ясность в этом вопросе поможет. Есть ли что-то, что мне не хватает в модели монеты, или проблема еще в detail.html, я, кажется, написал код как можно ближе к учебному примеру.
Опубликовать полное сообщение об ошибке verbatim. Не перефразируй. –
Отслеживание будет * сказать * вам, связано ли это с объектом Coin. Отправьте его. –