Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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/0/azure/13.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下载文件_Python_Django_Download - Fatal编程技术网

Python 未找到django下载文件

Python 未找到django下载文件,python,django,download,Python,Django,Download,我正在使用Python3.6和django 2.2开发一个Web服务器。我想有一个网页显示一个下载链接的文件,我根据用户输入生成 在my setting.py中,我有: MEDIA_ROOT = os.path.join.(BASE_DIR,'media') MEDIA_URL='/media/' 在我看来,我有 query.outputfile.name = os.path.join('submission',query_id,'output_file.txt') 要将filefield对

我正在使用Python3.6和django 2.2开发一个Web服务器。我想有一个网页显示一个下载链接的文件,我根据用户输入生成

在my setting.py中,我有:

MEDIA_ROOT = os.path.join.(BASE_DIR,'media')
MEDIA_URL='/media/'
在我看来,我有

query.outputfile.name = os.path.join('submission',query_id,'output_file.txt')
要将filefield对象与我创建的文件关联,请执行以下操作:

path/to/project/media/submission/[query_id]/output_file.txt
当我包括

print(query.outputfile.url)
我得到:

media/submission/[query_id]/output_file.txt
在我的html模板中,我有

<a href={{ query.outputfile.url }} download> Download output file here </a>
但当我点击链接时,chrome显示“失败-无文件”,在cmd行我得到了

Not Found: /media/submission/[query_id]/output_file.txt
我发现了一些相关的问题,比如,但不明白我的代码出了什么问题

我的问题是:

  • .url似乎与我的媒体根目录有关,但为什么它找不到我的文件?cmd行错误是否指向绝对路径/media/?我试图创建该路径和文件,但仍然出现相同的错误
  • 我应该如何生成下载链接

  • 谢谢

    能否成功提供静态文件将完全取决于您的服务器配置。也就是说,您的链接目标呈现URL很好,但现在您的服务器需要配置为提供来自该目录的文件。您是否检查了Django文档的静态文件配置。如果是这样,那么您需要在问题中发布相关的配置设置,以确保它们是正确的。@TylerGannon您好,谢谢您的评论,在URL中添加静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)确实解决了我的问题。我得到的另一个解决方案是为文件添加一个url模式,并在视图中添加一个FileResponse函数,但这没有那么简单。再次感谢!如果是这样的话,我很乐意选择您的评论作为可接受的答案。能否成功地提供静态文件将完全取决于您的服务器配置。也就是说,您的链接目标呈现URL很好,但现在您的服务器需要配置为提供来自该目录的文件。您是否检查了Django文档的静态文件配置。如果是这样,那么您需要在问题中发布相关的配置设置,以确保它们是正确的。@TylerGannon您好,谢谢您的评论,在URL中添加静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)确实解决了我的问题。我得到的另一个解决方案是为文件添加一个url模式,并在视图中添加一个FileResponse函数,但这没有那么简单。再次感谢!我很高兴选择你的评论作为公认的答案,如果这是一件事的话。
    Not Found: /media/submission/[query_id]/output_file.txt