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:

  • Django FileField im Modell maximale Rekursionstiefe überschritten beim Aufruf eines Python-Objekts
  • Django Admin - Wie kann ich das grüne Pluszeichen für Many-to-Many-Feld in benutzerdefinierten Admin-Formular hinzufügen
  • Ist es okay, Instanzvariablen in einer Django-Klassenbasierten Ansicht festzulegen?
  • Zu viele Werte zum Auspacken während der Vorlagenwiedergabe
  • Django rest Rahmen Benutzer Registrierung
  • Wie bekomme ich alle Modelle in django 1.8
  •  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?

    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.