Los documentos de la interfaz fastapi access /docs y /redoc están en blanco o no se pueden cargar

Este problema se debe a la CDN de la red externa utilizada por el documento de interfaz incorporado de fastapi

Podemos ver en las herramientas de desarrollo del navegador que solicita un script js, que se implementa en el extranjero y no se puede acceder a él en China, lo que hace que la página se congele aquí y se muestre en blanco.

Después de saber esto, podemos configurar estos recursos estáticos en nuestro propio local, y estos recursos estáticos son de código abierto en github.

arrogancia-IU

redoc

Los dos enlaces anteriores son las direcciones de código abierto de los recursos estáticos requeridos por la interfaz del documento en los dos modos de fastapi respectivamente.

Aquí extraigo los recursos mínimos que necesitamos y los pongo en mi disco de red Baidu.

enlace de recurso estático

Descargue los recursos estáticos y colóquelos en el directorio raíz del proyecto, como se muestra en la figura a continuación.

 Luego necesitamos el archivo Lib/site-package/fastapi/openapi/docs.py en el entorno del intérprete de python (o entorno virtual)

Modifique la ruta de acceso de recursos estáticos dentro

 Puede anotar parte del contenido original del archivo y luego copiar el siguiente contenido en él:

swagger_js_url: str="/static/swagger-ui/swagger-ui-bundle.js",
swagger_css_url: str="/static/swagger-ui/swagger-ui.css",
swagger_favicon_url: str="/static/swagger-ui/favicon.png",
redoc_js_url: str = "/static/redoc/bundles/redoc.standalone.js",
redoc_favicon_url: str = "/static/redoc/favicon.png"

Finalmente, agregue el siguiente código al programa principal:

app.mount('/static', StaticFiles(directory='static'),
          name='static')	

Dígale a fastapi que busque rutas que comiencen con /static desde el directorio estático.

Si la estructura de su proyecto (directorio de recursos estáticos) y la configuración de docs.py son exactamente iguales a las del autor, entonces no debería tener problemas para acceder a /docs y /redoc cuando comience de nuevo. (Si modifica la estructura del directorio de recursos estáticos, debe modificar la ruta correspondiente en docs.py en consecuencia)

El resultado de una operación exitosa es el siguiente:

 

Si tiene alguna pregunta, deje un mensaje para responder.

Si hay alguna infracción, póngase en contacto para eliminarla.

Si hay un error, por favor deje un mensaje para corregirme.

Supongo que te gusta

Origin blog.csdn.net/m0_52726759/article/details/124854070
Recomendado
Clasificación