我想知道错误的根源。我有一个上传视图功能,每次上传文件时都会设置以下属性:
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)。