我在具有开发服务器的本地计算机上运行了一个Django项目,在manage.py runserver
将其部署到虚拟机之前,我尝试使用Uvicorn运行它。因此,在我的虚拟环境中,我安装uvicorn
并启动了服务器,但是正如您在下面看到的那样,它无法找到Django静态CSS文件。
(envdev) user@lenovo:~/python/myproject$ uvicorn myproject.asgi:application --port 8001
Started server process [17426]
Waiting for application startup.
ASGI 'lifespan' protocol appears unsupported.
Application startup complete.
Uvicorn running on http://127.0.0.1:8001 (Press CTRL+C to quit)
INFO: 127.0.0.1:45720 - "GET /admin/ HTTP/1.1" 200 OK
Not Found: /static/admin/css/base.css
Not Found: /static/admin/css/base.css
INFO: 127.0.0.1:45720 - "GET /static/admin/css/base.css HTTP/1.1" 404 Not Found
Not Found: /static/admin/css/dashboard.css
Not Found: /static/admin/css/dashboard.css
INFO: 127.0.0.1:45724 - "GET /static/admin/css/dashboard.css HTTP/1.1" 404 Not Found
Not Found: /static/admin/css/responsive.css
Not Found: /static/admin/css/responsive.css
INFO: 127.0.0.1:45726 - "GET /static/admin/css/responsive.css HTTP/1.1" 404 Not Found
Uvicorn有一个选项,--root-path
因此我尝试指定这些文件所在的目录,但是仍然存在相同的错误(路径正确)。我该如何解决这个问题?
当不与内置开发服务器一起运行时,您将需要
使用经典的staticfile部署过程,该过程将所有静态文件收集到某个根目录中,并且预期将使用静态文件服务器为它们提供服务。Uvicorn似乎不支持静态文件服务,因此您可能还需要其他东西(请参阅例如https://www.uvicorn.org/deployment/#running-behind-nginx)。
(非常非常不理想!)让Django像在dev中一样提供静态文件
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句