Django 导入 CSV HTML

1 投票
1 回答
891 浏览
提问于 2025-04-18 00:01

你好,我现在正在尝试把一个CSV文件导入到我的Django项目中,而不使用Django的管理后台。我写的代码在Python运行时似乎没问题,但我不太确定该怎么制作HTML模板,因为我找不到相关的例子。有没有人能给我发个例子或者指点我一下方向?

我的代码是

表单

class DataInput(forms.Form):
    file = forms.FileField()


def save(self):
    records = csv.reader(self.cleaned_data["file"])
    for line in records:
        parts = Part()
        parts.supplier_id = line[0]
        parts.name = line[1]
        parts.description = line[2]
        parts.save()

视图

def csv_import(request):
    if request.method == "POST":
        form = DataInput(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            success = True
            context = {"form": form, "success": success}
            return render_to_response("imported.html", context,
            context_instance=RequestContext(request))
    else:
        form = DataInput()
        context = {"form": form}
        return render_to_response("imported.html", context,
        context_instance=RequestContext(request))

提前谢谢你们!

1 个回答

1

如果你只是想使用默认的表单样式,你的上传模板看起来会像这样:

<!DOCTYPE html>
<html>
    ...

    <form enctype="multipart/form-data" method="post" action=".">
        {{ form }}
    </form>

    ...
</html>

最重要的部分是 enctype="multipart/form-data",这个设置可以让表单处理文件上传的内容,具体可以参考这里

撰写回答