2017-04-17 7 views
-1

Ich lerne gerade Django und Web-Entwicklung im Allgemeinen und ich fragte mich, ob was ich tun möchte, ist möglich. Ich möchte ein Django-Quiz schreiben, das die Antworten speichert, die ein Benutzer eingibt, ohne ein Backend zu benötigen. Ist das möglich? Wenn es nicht möglich ist, was ist der einfachste und einfachste Weg? Meine Vorlage:wie man Benutzereingaben ohne Backeneds speichert

{% extends "base.html" %} 
{% block title %}Exam Questions{% endblock %} 
{% block content %} 
    {% if all_questions %} 
     <form action="{% url 'save_answer' %}" method="post"> 
     {% csrf_token %} 
     {% for question in all_questions %} 
      <h3>{{question.text }}</h3> 
      <input type="hidden" name="exam_id" value="{{ question.exam.id }}"> 
      <input type="hidden" name="question_id" value="{{ question.id }}"> 
     <input type="hidden" value="{{question.answer_set.all}}" name="answers"> 
     {% for answer in question.answer_set.all %} 
      <p><input type="radio" name="answer" value="{{ answer.id }}">{{ answer.text }}</p> 
     {% endfor %} 
    {% endfor %} 
     <input type="submit" value="Send"> 
    </form> 
{% else %} 
    <h2>No questions available</h2> 
{% endif %} 
{% endblock %} 

Nun würde Ich mag wissen, wie man ohne Backends Benutzer Antworten speichern

+0

Ohne Backend * was *? Was versuchst du zu machen? –

Antwort

0

zunächst eine litle Änderung Ihrer Vorlage Radio Auswahl

arbeiten
<p><input type="radio" name="answer_{{ question.id }}" value="{{ answer.id }}">{{ answer.option }}</p> 

Dann, hier ist der Code Antworten auf Sitzung zu speichern:

def post(self, request, *args, **kwargs): 
    post = request.POST 
    question_ids = post.getlist('question_id') 
    results = dict() 
    for id in question_ids: 
     answer = post.get('answer_%s' % id) 
     results[id] = answer 
    # Save to session or do whatever you want. 
    request.session['results'] = results 
    # Response to review 
    return JsonResponse(results) 
Verwandte Themen