get()在Django中返回了多个对象

时间:2014-07-01 09:41:22

标签: python django

我想知道错误的根源。我有一个上传视图功能,每次上传文件时都会设置以下属性:

newdoc.filename = newdoc.docfile.path.split("/")[len(newdoc.docfile.path.split("/"))-1]

其中newdoc是要上传的文件。出于某种原因,如果已经上传了相同的文件,这似乎没有考虑附加到文件名的“_1”,“_ 2”等。

我认为它将文件名设置为相同而不管“_1”等。这就是为什么会出现这个错误,但我不知道为什么。我的文件名声明有什么问题?这是我的get()声明:

@login_required
def file(request, filename_regx):
    u_file = request.user.document_set.get(filename=filename_regx)
    return sendfile(request, u_file.docfile.name)

这是将信息传递给上述视图语句的模板表单:

<form action="{% url "file" filename_regx=document.filename %}" method="post">
{% csrf_token %}
<input class="button2" name="file" value="Download" type="submit" />
</form>

这是项目/ urls.py位:

url(r'^file/(?P<filename_regx>.+)$', 'notendur.views.file', name="file"),

据我了解:用户单击表单中的“下载”按钮,该按钮将信息发送到urls.py文件,然后将其regx传递给视图功能。

除了此错误之外,即使服务器上只有一个文件,也找不到文档(服务器返回404)。

0 个答案:

没有答案