2010-06-17 5 views
1

Ma vue appelle certaines classes dorsales nécessitant une intervention de l'utilisateur. Lorsque l'entrée de l'utilisateur est requise, j'arrête le traitement et stocke les questions dans la session - request.session['questions']. request.session['questions'] est une liste de dictionnaires. par exemple.Afficher le formulaire dans Django non basé sur Modèles/Form

request.session['question'] = [] 
request.session['question'].append({'question' : 'Whats your firstname', 'answer' : ''}) 
request.session['question'].append({'question' : 'Whats your firstname', 'answer' : ''}) 

J'ai besoin d'afficher ces questions à l'utilisateur avec une zone de saisie pour chaque question. Lorsque l'utilisateur soumet le formulaire, j'ai besoin de vider l'entrée dans la partie réponses de la variable de session. Quelqu'un pourrait-il me montrer comment faire cela? Je suis un peu perdu car ce n'est pas vraiment basé sur des formes ou des modèles Django en tant que tels.

Merci

+0

Avant de répondre, quelle est la raison de ne pas utiliser les modèles? – Almad

Répondre

1

Vous pouvez utiliser forms qui ne sont pas associés à des modèles, comme celui-ci:

class QuestionForm(forms.Form): 
    answer = forms.CharField() 

def questions(request): 
    if request.method == 'POST': 
     form = QuestionForm(request.POST) 
     if form.is_valid(): 
      # Process the data in form.cleaned_data 
      return HttpResponseRedirect('/done/') 
    else: 
     form = QuestionForm() # An unbound form 

    return render_to_response('questions.html', {'form': form,}) 

Plus de documentation here.

Questions connexes