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
ので、これらのファイルが配置されているディレクトリを指定しようとしましたが、それでも同じエラーが発生します(パスは正しい)。この問題を解決するにはどうすればよいですか?
組み込みの開発サーバーで実行していない場合は、次のいずれかを行う必要があります。
すべての静的ファイルをルートに収集する従来の静的ファイル展開手順を使用すると、静的ファイルサーバーがそれらを提供することが期待されます。Uvicornは静的ファイル提供をサポートしていないようです。そのため、他のものも必要になる場合があります(https://www.uvicorn.org/deployment/#running-behind-nginxなどを参照)。
(非常に、非常に好ましくない!)Djangoにdevの場合と同じように静的ファイルを提供させる
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加