【发布时间】:2021-12-01 08:37:20
【问题描述】:
此 Django 应用作为应用服务部署在 Azure 上,其静态和媒体文件存储在 Azure 存储帐户 - blob 中。
该项目过去运行良好,但发生了一些变化,现在问题如下。
应用设置文件的相关部分:
STATIC_URL = 'https://myappstorage.blob.core.windows.net/static/'
MEDIA_URL = 'https://myappstorage.blob.core.windows.net/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
# any static paths you want to publish
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
因此人们会期望,例如,位于存储根目录中的图标可以在 https://myappstorage.blob.core.windows.net/static/favicon 上找到,而且确实如此!
但是 azure 上的应用程序尝试加载的所有静态文件都会尝试从中加载
https://myappstorage.myappstorage.blob.core.windows.net/static/ (注意 myappstorage 的重复),对于媒体文件也是如此。
这会导致页面上没有静态文件,因为它们是从错误的 url 加载的。当我在本地运行应用程序时,它运行良好。我销毁它并重新创建它,但没有成功。现在我有两个副本正在运行,一个通过 FTP 和启动命令部署并使用 Github 操作。还是一样的问题。
我还在设置文件中尝试了一些 hack-ish 变通办法,但没有成功。
【问题讨论】:
标签: django azure azure-web-app-service azure-blob-storage django-staticfiles