2012-08-03 1 views
0

첫 번째 Google App Engine 프로젝트를 개발 중이며 데이터베이스 및 양식 모델에 대한 근본적인 오해가 있다고 생각합니다. 다음 Python 코드가 있습니다 :데이터베이스 모델에서 Google 앱 엔진 렌더링 체크 박스

class RegData(db.Model): 
    title = db.StringProperty() 
    forename = db.StringProperty() 
    surname = db.StringProperty() 
    interest = db.StringListProperty(choices=['TV','COMPUTING','SOCCER']) 

class RegForm(djangoforms.ModelForm): 
    class Meta: 
     model = RegData 

내가 원하는 것은 텍스트 영역 대신 확인란의 집합으로 'interest'속성을 렌더링하는 것입니다. 이것이 가능한가?

감사합니다. 형태로 장고 수입 형태의

답변

1

당신은 models.py

models.py

interest=(
      ('Tv', 'TV'), 
      ('Computing', 'COMPUTING'), 
      ('Soccer', 'SOCCER'), 
         ) 
class RegData(db.Model): 
    title = db.StringProperty() 
    forename = db.StringProperty() 
    surname = db.StringProperty() 
    interest = db.StringListProperty() 

class RegForm(djangoforms.ModelForm): 
    interest= form.CheckboxSelectMultiple(choices=interest) 
    class Meta: 
     model = RegData 

RegData가 데이터베이스 (법인)의 테이블, RegForm에 위의 모듈을 추가해야합니다 귀하의 페이지에이 양식이 표시된다는 것입니다.

main.py

class ShowForm(webapp.RequestHandler): 
    def get(self): 
     show(self) 
    def post(self): 
     show(self) 

def show(self): 
    get = self.request.GET 
    post = self.request.POST 


    data = models.RegData() 

    if post: 
     form = models.RegForm(data=post, instance=RegDate) 

     if form.is_valid(): 
      entity = form.save(commit=False) 
      entity.put() 

    else: 
     form = models.RegForm(instance=RegDate)