python - Django 中的显示表单不基于模型/表单

标签 python django

我的 View 调用一些需要一些用户输入的后端类。当需要用户输入时,我停止处理并将问题存储到 session 中 - request.session['questions']request.session['questions'] 是一个字典列表。例如

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

我需要向用户显示这些问题以及每个问题的输入框。当用户提交表单时,我需要将输入转储到 session 变量的答案部分。有人可以告诉我该怎么做吗?我有点迷失,因为这并不是真正基于 Django 表单或模型。

谢谢

最佳答案

您可以使用forms与模型无关的,如下所示:

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,})

更多文档 here .

关于python - Django 中的显示表单不基于模型/表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065002/

相关文章:

python - PEP 3124 是否有一些实现

django - ManyRelatedManager 对象不可迭代

python - 处理在基于类的 View 的 get_context_data 中引发的异常

javascript - 在 Django/Heroku 网站的 javascript 中更改对象数据

json - 将参数作为 json 对象传递

python - Matplotlib 辅助/双轴 - 用圆圈和箭头标记 - 用于黑白 (bw) 发布

Python tkinter 弹跳球 - 能量趋于无穷大

javascript - Django - 如何使日期选择器在更改时提交表单

python - 如何从python中的数据透视表计算最大值

python - numpy 有条件地用数组替换标量/ bool 值