2017-10-24 3 views
0

양식 필드를 데이터베이스에 저장하는 데 문제가 있습니다. 장고에서 Player 모델을 보면 항상 0 데이터가 있기 때문에 저장하지 않는다는 것을 알고 있습니다. 누구든지 나를보고 정정 할 수 있다면 매우 감사 할 것입니다.

Django 양식이 데이터베이스에 저장되지 않습니다.

models.py -

from django.db import models 

class Player(models.Model): 
    player_one_name = models.CharField(max_length=30, default='') 
    player_two_name = models.CharField(max_length=30, default='') 

forms.py -

from django import forms 

class PlayerInfo(forms.Form): 
    player_one_name = forms.CharField(max_length=30, label='First player name') 
    player_two_name = forms.CharField(max_length=30, label='Second player name') 

views.py

from django.http import HttpResponse, HttpResponseRedirect 
from django.shortcuts import render, render_to_response 
import os 
from .forms import PlayerInfo 
from .models import Player 

def start(request): 
    if request.method == 'POST': 
     form = PlayerInfo(request.POST) 
     if form.is_valid(): 
      obj = Player() 
      obj.player_one_name = form.cleaned_data['player_one_name'] 
      obj.player_two_name = form.cleaned_data['player_two_name'] 
      return HttpResponseRedirect('game/') 

    else: 
     form = PlayerInfo() 

     args = {'form': form} 
     return render(request, 'start.html', args) 

start.html - 각 선수의 이름을 제출 박하

(210)
{% block botRow %} 
    <form method="post"> 
     {% csrf_token %} 
     {{ form.as_p }} 
     <button type="submit">Submit</button> 
    </form> 
{% endblock %} 

game.html - 각 선수의 이름을

{% extends 'base.html' %} 
{% block midRow %} 
    <p>{{ fpn }}</p> 
    <p>{{ spn }}</p> 
{% endblock %} 
+0

들여 쓰기를 수정하십시오! – schwobaseggl

+1

아마'ModelForm'을 사용하고 싶을 것입니다. –

+0

몇 가지 오류를 수정하도록 코드가 업데이트되었습니다. 그러나 여전히 데이터베이스에 저장되지 않습니다. –

답변

1

요청 방법을 렌더링하는 박하는 모두 대문자로 항상이다.

if request.method == 'POST': 
+0

안녕하세요, 소문자 여야합니까? 내가 다음에 나온 자습서는 대문자로 써서 모든 대문자로 썼다. –

+0

아니야, 내가 본 것처럼 모든 대문자가 있어야한다. –

+0

그래,이 문제를 해결했습니다. 그러나, 그것은 여전히 ​​databse에 게시되지 않습니다. –

관련 문제