Python Flask只能找到具有相对路径而不是绝对路径的文件

Python Flask只能找到具有相对路径而不是绝对路径的文件,python,flask,Python,Flask,我创建了一个flask应用程序,可以访问配置文件中指定文件夹中的图像。出于某种原因,当我指定文件夹的完整路径(img_文件夹:'/user/userName/static/img/')时,我会得到一个404错误,但当我指定相对路径(img_文件夹:'./static/img/')时,它会起作用。看看我的终端,404错误指定了正确的路径和文件,因此路径肯定是正确的。 发生了什么事?如何使用完整路径而不接收404 这是我在config文件夹中指定完整路径时的样子: img_folder : '/us

我创建了一个flask应用程序,可以访问配置文件中指定文件夹中的图像。出于某种原因,当我指定文件夹的完整路径(img_文件夹:'/user/userName/static/img/')时,我会得到一个404错误,但当我指定相对路径(img_文件夹:'./static/img/')时,它会起作用。看看我的终端,404错误指定了正确的路径和文件,因此路径肯定是正确的。 发生了什么事?如何使用完整路径而不接收404

这是我在config文件夹中指定完整路径时的样子:

img_folder : '/user/userName/static/img/'
这是在配置中指定完整路径时出现的HTTP错误:

127.0.0.1 - - [06/Jul/2018 11:26:25] "GET /user/userName/static/img/lion.jpg HTTP/1.1" 404
当我在config文件夹中指定相对路径时,如下所示:

img_folder : './static/img/'
我不明白404的错误

在我的flask应用程序文件中,我有一个使用文件夹中文件的路由,如下所示:

files = os.listdir(img_folder)
@app.route('/', methods=['GET', 'POST'])
def init():
  return render_template('display.html', file=files[0])
display.html

<!doctype html>
        <div id='img_area'>
            <img src="{{file}}"></img>
        </div>
</html>


因此,当使用完整路径时,文件不会显示,而是与相对路径一起显示。

第一条路径是文件的绝对路径吗?(
user/UserName
看起来不像)相对于运行flask应用程序的位置(服务器根目录),您显示的第二条路径是什么?我建议在jinja模板中使用
url\u,比如
{{url\u for('.static',filename=f'img/{filename}')}
。正如@Sraw提到的,url和路径不一定相同。您只是混淆了
url
path
url
是相对于服务器的路径,
path
是相对于文件系统根的路径。