Wie man dynamisch generierte Formulare mit einer zu vielen Beziehungen in django macht

Ich versuche, ein Quiz-System zu schreiben, um Django zu lernen, wo Benutzer das System hinzufügen können. Meine models sehen aus wie

from google.appengine.ext import db class Quiz(db.Model): title=db.StringProperty(required=True) created_by=db.UserProperty() date_created=db.DateTimeProperty(auto_now_add=True) class Question(db.Model): question=db.StringProperty(required=True) answer_1=db.StringProperty(required=True) answer_2=db.StringProperty(required=True) answer_3=db.StringProperty(required=True) correct_answer=db.StringProperty(choices=['1','2','3','4']) quiz=db.ReferenceProperty(Quiz) 

Meine Frage ist, wie schaffen Form + Ansichten + Vorlagen, um Benutzer mit einer Seite zu erstellen, um so weit zu erstellen, dass ich damit gekommen bin. Ansichten:

 from google.appengine.ext.db.djangoforms import ModelForm from django.shortcuts import render_to_response from models import Question,Quiz from django.newforms import Form def create_quiz(request): return render_to_response('index.html',{'xquestion':QuestionForm(),'xquiz':QuizForm()}) class QuestionForm(ModelForm): class Meta: model=Question exclude=['quiz'] class QuizForm(ModelForm): class Meta: model=Quiz exclude=['created_by'] 

Vorlage (index.html)

  Please Enter the Questions <form action="" method='post'> {{xquiz.as_table}} {{xquestion.as_table}} <input type='submit'> </form> 

Wie kann ich mehrere Fragen im Quiz-Formular haben?

  • Wie simuliere ich den Image-Upload zum Google App-Engine-Blobstore
  • Facebook Logout mit OAuth Server Seite
  • Wie kann man ein Bild von Blobstore anzeigen?
  • Django auf Google AppEngine mit CloudSQL: Wie man eine Verbindung herstellt (Fehler 2002, Kann keine Verbindung zum lokalen MySQL-Server herstellen)
  • So erstellen Sie eine internationalisierte Google App Engine-Anwendung
  • Facebook, Django und Google App Engine
  • Google App-Engine - Nur für ein Feld abfragen
  • PyCharm-Protokollierung Ausgabefarben
  • One Solution collect form web for “Wie man dynamisch generierte Formulare mit einer zu vielen Beziehungen in django macht”

    So weit so gut, ab jetzt solltest du eine Arbeitsansicht mit den Formularen machen, wenn es keine Fehler gibt.

    Jetzt müssen Sie nur die Post-Daten in der create_quiz Ansicht behandeln

     if request.method == 'POST': xquiz = QuizForm(request.POST) quiz_instance = xquiz.save(commit=False) quiz_instance.created_by = request.user quiz_instance.save() xquestion = QuestionForm(request.POST) question_instance = xquestion.save(commit=False) question_instance.quiz = quiz_instance question_instance.save() 

    Update: Wenn du nach mehreren Frageformularen suchst, dann musst du Formulare betrachten, http://docs.djangoproject.com/de/dev/topics/forms/modelforms/#id1

    Python ist die beste Programmiersprache der Welt.