当前位置:   article > 正文

Stable Diffusion WebUI API http://127.0.0.1:7860/docs空白_stable-diffusion-webui docs 显示不出来

stable-diffusion-webui docs 显示不出来

在尝试调用Stable Diffusion WebUI API的时候,打开http://127.0.0.1:7860/docs遇到了以下页面

网络诊断是这样的原因:

修bug,改来改去遇到了以下页面:

此时http://127.0.0.1:7860可以如下正常显示:

查资料的时候找到说可能是swagger配置时出了问题


 

解决办法:

步骤一:解压文章绑定的资源包static,放在项目的根目录下

步骤二:找到路径形如:\Lib\site-packages\fastapi\openapi\docs.py 这个docs.py文件

  1. swagger_js_url: str="/static/swagger-ui/swagger-ui-bundle.js",
  2. swagger_css_url: str="/static/swagger-ui/swagger-ui.css",
  3. swagger_favicon_url: str="/static/swagger-ui/favicon.png",

将这里的内容替换为本地文件

  1. redoc_js_url: str = "/static/redoc/bundles/redoc.standalone.js",
  2. redoc_favicon_url: str = "/static/redoc/favicon.png",

步骤三:将webui.py里的api_only()替换为这样,即引入静态文件

  1. def api_only():
  2. from fastapi import FastAPI
  3. from modules.shared_cmd_options import cmd_opts
  4. from fastapi.staticfiles import StaticFiles##
  5. initialize.initialize()
  6. app = FastAPI()
  7. app.mount('/static', StaticFiles(directory='static'))##
  8. initialize_util.setup_middleware(app)
  9. api = create_api(app)
  10. from modules import script_callbacks
  11. script_callbacks.before_ui_callback()
  12. script_callbacks.app_started_callback(None, app)
  13. print(f"Startup time: {startup_timer.summary()}.")
  14. api.launch(
  15. server_name="0.0.0.0" if cmd_opts.listen else "127.0.0.1",
  16. port=cmd_opts.port if cmd_opts.port else 7861,
  17. root_path=f"/{cmd_opts.subpath}" if cmd_opts.subpath else ""
  18. )

参考了这篇知乎的方法二

fastapi docs 空白(2022年5月,已解决) - 知乎 (zhihu.com)

最终实现:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/887618
推荐阅读
相关标签
  

闽ICP备14008679号