【问题标题】:how to save user's inputs without backeneds如何在没有支持的情况下保存用户的输入
【发布时间】:2017-04-17 06:40:06
【问题描述】:

我只是在学习 Django 和一般的 Web 开发,我想知道我想做的事情是否可行。我想编写一个 Django 测验,无需后端即可保存用户输入的答案。这可能吗?如果不可能,我可以做到这一点的最简单和最简单的方法是什么。我的模板:

{% 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 %}

现在我想知道如何在没有后端的情况下保存用户答案

【问题讨论】:

  • 没有后端什么?你想做什么?

标签: django views


【解决方案1】:

Afaik,您可以将其保存在您的后端 (django forms doc),或者使用 javascript 将其保存在 client browser cookie

【讨论】:

    【解决方案2】:

    首先,对您的模板进行一点更改,以使收音机选择起作用

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

    然后,这里是存储会话答案的代码:

    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)
    

    【讨论】:

      猜你喜欢
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      相关资源
      最近更新 更多