当我运行 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
Run Code Online (Sandbox Code Playgroud)
服务器.py 文件
app = Starlette()
app.add_middleware(CORSMiddleware, allow_origins=['*'], allow_headers=['X-Requested-With', 'Content-Type'])
app.mount('/static', StaticFiles(directory='app/static'))
Run Code Online (Sandbox Code Playgroud)
python 版本 3.8 操作系统 Windows 10
了解程序的执行路径非常重要(对于GNU/Linux环境):
如果您有这样的工作目录:~/working/myprogram
cd ~/working/myprogrampython3 mysuper.py然后就可以毫无问题地执行了。
但如果你在另一个目录中:
cd ~/Desktoppython3 ~/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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13009 次 |
| 最近记录: |