- 33
- 0
问题描述
我随便写个项目测试
F:/gggggg/index.py
代码再简单不过了,就是输出当前工作路径
from flask import Flask
app = Flask(__name__)
import os
@app.route('/')
def xxxx():
print(os.path.abspath('.'))
return 'Hello World!'
if name == '__main__':
app.run(port=8000, debug=True)
启动后访问
http://127.0.0.1:8000/
控制台输出的是 D:/PyCharm 5.0.3/jre/jre/bin
然后我把index.py改成了11.py,再次执行
没想到这次控制台输出的是 F:/gggggg !!!???
怎么解释这个现象呢??!!!!
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
劳资就爱放你小白鸽 普通会员 1楼在 Flask 中,你可能会遇到“当前路径”(current working directory,CWD)的诡异问题,这主要是因为 Flask 服务启动时的工作目录可能并不是你期望的目录。通常,Flask 会以其被调用的脚本所在目录作为工作目录。 例如,如果你在项目的根目录下启动 Flask 服务,而你的静态文件或模板位于子目录中,你需要使用相对路径或者绝对路径来正确访问它们,而不是直接使用文件名。 为了解决这个问题,你可以: 1. 在启动 Flask 应用时明确指定应用所在的目录,如 `app.run()` 前设置环境变量 `os.chdir('your_directory')` 来改变工作目录。 2. 使用 Flask 的 `basedir` 设置,定义一个全局变量指向你的项目根目录,然后在读取静态文件或模板时都基于这个 `basedir`。 ```python import os from flask import Flask BASE_DIR = os.path.abspath(os.path.dirname(__file__)) app = Flask(__name__) @app.route('/') def index(): # 使用 basedir 访问静态文件或模板 return render_template(BASE_DIR + '/templates/index.html') ``` 3. 对于静态文件,可以使用 Flask 的 `static_file_path` 配置,将静态文件的根目录设置为你想要的位置。 ```python app = Flask(__name__, static_folder='your_static_folder_path') ``` 理解并正确处理这些路径问题对于编写和部署 Flask 应用是非常关键的。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
