当我运行 server.py 文件时出现错误
File "C:\Users\nawin\AppData\Local\Programs\Python\Python38\lib\site-packages\starlette\staticfiles.py", line 57, in __init__
raise RuntimeError(f"Directory '{directory}' does not exist")
RuntimeError: Directory 'app/static' does not exist
服务器.py 文件
app = Starlette()
app.add_middleware(CORSMiddleware, allow_origins=['*'], allow_headers=['X-Requested-With', 'Content-Type'])
app.mount('/static', StaticFiles(directory='app/static'))
蟒蛇版本3.8
操作系统 Windows 10
了解程序的执行路径很重要(例如GNU/Linux环境):
如果您有这样的工作目录:~/working/myprogram
第一个案例
- 首先访问您的工作目录:
cd ~/working/myprogram
- 执行:
python3 mysuper.py
然后就可以毫无问题地执行了。
第二种情况
但如果你在另一个目录中:
- 转到桌面文件夹:
cd ~/Desktop
- 执行:
python3 ~/working/myprogram/mysuper.py
在第二种情况下你会遇到问题。为了避免这种情况,有一个建议(很丑陋),但可以是:
import os
script_dir = os.path.dirname(__file__)
st_abs_file_path = os.path.join(script_dir, "static/")
app.mount("/static", StaticFiles(directory=st_abs_file_path), name="static")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)