Django部署于PythonAnywhere时,Amazon S3静态文件与图片加载失败问题求助
Django部署于PythonAnywhere时,Amazon S3静态文件与图片加载失败问题求助
我现在在PythonAnywhere上部署Django 5.1.4应用,按照相关文档配置了Amazon S3来托管静态和媒体文件。目前静态文件已经成功收集到S3对应的桶里了,但访问应用的时候页面完全没有样式,静态资源文件夹里的图片也加载不出来,整个页面布局全崩了。
以下是我settings.py里的相关配置代码:
# Amazon S3 Configuration AWS_ACCESS_KEY_ID = "<your-access-key-id>" AWS_SECRET_ACCESS_KEY = "<your-secret-access-key>" AWS_STORAGE_BUCKET_NAME = "<your-bucket-name>" AWS_S3_REGION_NAME = "us-east-2" AWS_S3_CUSTOM_DOMAIN = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com" AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=86400"} AWS_S3_QUERYSTRING_AUTH = False # STORAGES Configuration STORAGES = { "default": { "BACKEND": "storages.backends.s3boto3.S3Boto3Storage", "OPTIONS": { "location": "media", # Directory for media files "file_overwrite": False, # Prevent overwriting files }, }, "staticfiles": { "BACKEND": "storages.backends.s3boto3.S3StaticStorage", "OPTIONS": { "location": "static", # Directory for static files }, }, } # Configuration during development STATIC_URL = "/static/" # URL for static files STATICFILES_DIRS = [BASE_DIR / "config" / "static"] # Directories for static files STATIC_ROOT = BASE_DIR / "staticfiles" # Root directory for collected static files MEDIA_URL = "/media/" # URL for media files MEDIA_ROOT = os.path.join(BASE_DIR, "media") # Root directory for media files # S3 Configuration for production if not DEBUG: STATIC_URL = f"{AWS_S3_CUSTOM_DOMAIN}/static/" MEDIA_URL = f"{AWS_S3_CUSTOM_DOMAIN}/media/"
我参考了django-storages的官方文档来完成这些配置,当前使用的是Django 5.1.4版本,部署在PythonAnywhere服务器上。
有没有朋友能帮我排查下问题所在,让生产环境里的静态文件能正常加载,页面样式恢复正常啊?
备注:内容来源于stack exchange,提问作者Victor Reginaldo
相关产品推荐
相关产品推荐

