2012-02-17 4 views
2

템플릿에 올바르게 렌더링되는 Django 모델 /보기/양식이 있지만 데이터베이스에 입력 된 데이터를 제출하지 않습니다. 이것에 대한 도움이 있으면 대단히 감사하겠습니다! Django 양식이 제출되지 않았습니다

#models.py 

from django.db import models 
from django.forms import ModelForm 

class UserRegistration(models.Model): 
    user_first = models.CharField(max_length=50) 
    user_last = models.CharField(max_length=50) 
    user_email = models.EmailField() 
    #user_fantasyhost = models.CharField(max_length=50) 

    def __unicode__(self): 
     return u'%s %s %s' % (self.user_first, self.user_last, self.user_email) 

class RegForm(ModelForm): 
    class Meta: 
     model = UserRegistration 

#views.py 

from django.shortcuts import render_to_response 
from django.shortcuts import render 
from django.http import HttpResponse, HttpRequest, HttpResponseRedirect 
from acme.dc_django.models import UserRegistration 
from acme.dc_django.models import RegForm 

def regPage(request, id=None): 
    form = RegForm(request.POST or None, 
         instance=id and UserRegistration.objects.get(id=id)) 

    if request.method == 'POST' and form.is_valid(): 
     form.save() 
     return HttpResponseRedirect('/league_setup/') 
    user_info = UserRegistration.objects.all() 
    context = { 
     'form':form, 
     'user_info' :user_info, 
    } 

    return render(request, 'regpage.html', context) 

#repage.html 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<HTML lang="en"> 
<head> 
    <title>User Registration</title> 
</head> 
<body> 

    <form method="POST" action="/league/"> 
     {% csrf_token %} 
     <table>{{ form }}</table> 
     <input type="submit" value="Create Account" 
    </form><br /><br /> 

</body> 
</HTML> 

내가 코드를 시도

+1

:

<HTML lang="en"> <head> <title>User Registration</title> </head> <body> <form method="POST" action=""> {% csrf_token %} <table>{{ form }}</table> <input type="submit" value="Create Account" /> </form><br /><br /> </body> </HTML> 

양식 일했다 , 그리고 브라우저가 아마도 그것을 처리 할 수 ​​있습니다. 이런 종류의 문제는 우리보다 디버깅하기가 더 쉽습니다. 보기가 어디에서 잘못 되었습니까? 찾으려는 뷰에 인쇄 문구를 넣으십시오. 예를 들어,'form.is_valid()'의 값입니다. – Alasdair

+1

작동하지 않는 부분을 자세히 설명해 주시겠습니까? 나는'데이터베이스에 입력 된 데이터를 제출하지 않습니다 .'라고 혼란 스럽습니다. – dm03514

+0

오류가 있습니까? – Jurudocs

답변

4

DP, 당신의 도움을 주셔서 감사합니다. 문제는 동작 HTML 양식 태그의 속성이 "/ 리그 /"로 설정되어 있습니다.

reqPage URL이 실제로 "/ 리그 /"인 경우가 아니면이 작동하지 않습니다. 내가 같은 action=""action="/league/"을 변경하는 경우 : 당신은 당신의 폼 태그를 제출 폐쇄하지 않은,하지만 그건 그냥 오타 수 있습니다

In [3]: UserRegistration.objects.all() 
Out[3]: [<UserRegistration: aoeu oeu [email protected]>] 
+0

하시기 바랍니다. 나는 똑같은 결과를 얻었다. 도와 줘서 고마워! DP – dpbklyn

관련 문제