Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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
Python Django csv错误和编写业务逻辑的最佳位置_Python_Django - Fatal编程技术网

Python Django csv错误和编写业务逻辑的最佳位置

Python Django csv错误和编写业务逻辑的最佳位置,python,django,Python,Django,编辑: Q1通过向表单模板添加enctype=“multipart/form data”来解决。请对第二季度发表评论 Qn1:我在尝试读取通过表单上传的csv文件时遇到以下错误。例外情况可能在这一行 records = csv.reader(f) 不知道该通过什么。请参阅下面的代码 Qn2:是否可以在模型中进行csv处理(csv用于上载域数据,因此验证/并作为域对象持久化)。我是Django/Python新手,到目前为止,我看到的大多数示例在模型中没有太多方法。这与我以前所说的有点不同,我过去

编辑:

Q1通过向表单模板添加
enctype=“multipart/form data”
来解决。请对第二季度发表评论

Qn1:我在尝试读取通过表单上传的csv文件时遇到以下错误。例外情况可能在这一行

records = csv.reader(f)
不知道该通过什么。请参阅下面的代码

Qn2:是否可以在模型中进行csv处理(csv用于上载域数据,因此验证/并作为域对象持久化)。我是Django/Python新手,到目前为止,我看到的大多数示例在模型中没有太多方法。这与我以前所说的有点不同,我过去用它来捕获与模型相关联的所有业务逻辑。想知道django中的惯用用法

例外情况: 视图: 表格: 型号:
尝试直接从
request.FILES
对象传递文件

w.importCsv(request.FILES['file'])

为什么要在models类中编写方法
importsv
?顺便说一句,您应该使用
request.FILES['file']
def upload(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            w = Testme()
            w.importCsv(form.cleaned_data["file"])
            return HttpResponseRedirect('/')
    else:
        form = UploadFileForm()
    return render_to_response('setup.html', {'form': form},context_instance=RequestContext(request))
class UploadFileForm(forms.Form):
    title = forms.CharField(required=False)
    file = forms.FileField(required=False)
class Testme(models.Model):
    code = models.IntegerField()
    ctu = models.IntegerField()
    address = UsAddress

    def importCsv(self, f):
        records = csv.reader(f)
        for line in records:
            logger.debug(line)
w.importCsv(request.FILES['file'])