向句子中添加多选项轮询并将结果写入csv文件(Django/Python)
我想显示一个问题,并让用户从1-5作为投票率。五个单选按钮。我已经生成了这个问题,但我不确定如何为用户创建5个选项向句子中添加多选项轮询并将结果写入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
目标是每次用户通过点击提交按钮(选择选项后)对问题和评分进行投票时,将问题和评分导出到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)