Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向句子中添加多选项轮询并将结果写入csv文件(Django/Python)_Python_Django_Csv_Submit_Voting - Fatal编程技术网

向句子中添加多选项轮询并将结果写入csv文件(Django/Python)

向句子中添加多选项轮询并将结果写入csv文件(Django/Python),python,django,csv,submit,voting,Python,Django,Csv,Submit,Voting,我想显示一个问题,并让用户从1-5作为投票率。五个单选按钮。我已经生成了这个问题,但我不确定如何为用户创建5个选项 目标是每次用户通过点击提交按钮(选择选项后)对问题和评分进行投票时,将问题和评分导出到csv文件。它需要将问题和所选评分(1、2、3、4或5)写入文件。在这方面我需要一些帮助。这里是写入文件的一般思路。用数据替换“A”、“B”、“C” 也许它来自一个表单,request.POST['selected_choice']等等 import csv with open('foo.csv

我想显示一个问题,并让用户从1-5作为投票率。五个单选按钮。我已经生成了这个问题,但我不确定如何为用户创建5个选项


目标是每次用户通过点击提交按钮(选择选项后)对问题和评分进行投票时,将问题和评分导出到csv文件。它需要将问题和所选评分(1、2、3、4或5)写入文件。在这方面我需要一些帮助。

这里是写入文件的一般思路。用数据替换“A”、“B”、“C”

也许它来自一个表单,request.POST['selected_choice']等等

import csv

with open('foo.csv', 'ab') as f:
    writer = csv.writer(f)
    writer.writerow(['A', 'B', 'C'])
在您的视图中,您将看到以下内容:

import csv

from django.http import render_to_response, HttpResponseRedirect
from myproject.forms import PollForm

def myview(request):
    context = {}
    if request.method == 'POST'
        form = PollForm(request.POST)
        if form.is_valid():
            obj = form.save()
            with open('foo.csv', 'ab') as f:  # Shamelessly stolen from Yuji
                writer = csv.writer(f)
                writer.writerow([obj.question, obj.rating])
            return HttpResponseRedirect('somesuccesspage')
    # More boring code here to handle the GET requests and stuff..
    context['form'] = form
    return render_to_response('somepath/mytempplate.html', context)

我还没有运行上面的代码,但这肯定会让你开始学习。

django没有民意测验教程吗?我想它包括了一些与你想做的事情非常相似的东西。是的,但我感兴趣的是写出所选的选项,而不是总结每个选项被选中的次数。谢谢。由于某些原因,导入PollForm不起作用。我收到错误“没有名为forms的模块”@ono3您是否从django import forms执行了
,这是我代码中的第一行?但是无论如何要记住,PollForm应该位于不同的模块中,比如
forms.py
。从这段代码开始(与django文档携手),如果您遇到任何其他问题,请发布一个单独的问题。
import csv

from django.http import render_to_response, HttpResponseRedirect
from myproject.forms import PollForm

def myview(request):
    context = {}
    if request.method == 'POST'
        form = PollForm(request.POST)
        if form.is_valid():
            obj = form.save()
            with open('foo.csv', 'ab') as f:  # Shamelessly stolen from Yuji
                writer = csv.writer(f)
                writer.writerow([obj.question, obj.rating])
            return HttpResponseRedirect('somesuccesspage')
    # More boring code here to handle the GET requests and stuff..
    context['form'] = form
    return render_to_response('somepath/mytempplate.html', context)