첫 번째 장고 앱 - 스포츠 예측 게임을 만들려고합니다.
나는 사용자가 3 개 버튼 DB에 3 개 개의 다른 값을 전달 (이미지)를 사용하여 세 가지 가능한 결과에서 선택합니다 :
1 - 홈 팀은
0 승리 - 원정 팀
어떻게 django에서 databse에 버튼 값을 저장 하시겠습니까?
체결 -
은 2 그릴 무언가를 입력 할 때 양식을 사용하여 데이터를 저장할 수 있지만 이 단추의 값을 데이터베이스로 전달하는 방법은 무엇입니까? 내 game.html에
코드 :
def game(request, Game_id):
thisgame = get_object_or_404(Game, pk=Game_id)
nextgame = int(thisgame.id)+1
template = loader.get_template('polls/game.html')
form = NewBetForm(request.POST or None)
current_user = request.user
allgames = Game.objects.all()
betchoices = BetChoice.objects.all()
context = { 'thisgame': thisgame,
'nextgame': nextgame,
'form': form,
'current_user': current_user,
'betchoices': betchoices,}
if form.is_valid():
bet = form.save(commit=False)
bet.gameid = Game.objects.get(id=Game_id)
bet.userid_id = current_user.id
bet.save()
else:
print (form.errors)
및 내 양식
:{% csrf_token %}
{{ form }}
<input type="submit" value = 1>
<input type="submit" value = 0>
<input type="submit" value = 2> </form>
내보기
class NewBetForm(forms.ModelForm):
class Meta:
model = GameBet
fields = ['bet']
와 내가 얻을 오류가 Bet - this field is required
모든 아이디어 주셔서 감사합니다!
안녕하세요 @ Snip77, y 감사합니다. 우리의 대답. 3 개의 버튼이 필요해 각각 이름을 다르게 지정해야합니까? \t가 'send1' 자기 - '키 \t { 'csrfmiddlewaretoken': 코드 ', 'send3 ':'3 '}' – Patr01
예 당신이해야 지금은 MultiValueDictKeyError (를 repr이 (키))가'지역 바르 때와'얻었다 그들에게 전화를하십시오 .beacuse 서버 side.call의 버튼을 감지하고 싶습니다. 1, 2, 3.in 서버 쪽. clicked.if라는 이름의 버튼이 필요합니다. 다른 문제가 있으면 말해도 될까요? 대답 : –
나는 아직도 뭔가를 여기에서 놓치고 있다고 생각한다. 이 접근법에서 폼이 유효하면''부분이 필요한가요? 지금은 다음을 가지고 있지만 그것은 아무것도하지 않습니다 : '경우 request.method == 'POST를' \t \t 경우 request.POST [ "내기"] == 1 : \t \t \t form.is_valid 경우() : \t \t \t \t 내기 = form.save (거짓 = 커밋) \t \t \t \t bet.gameid = Game.objects.수 (ID = GAME_ID) 다른 \t \t \t \t bet.userid_id = current_user.id \t \t \t \t bet.save() \t \t \t : \t \t \t \t 인쇄 (form.errors)' – Patr01