【问题标题】:Image upload leads to Server Error (500) Django app deployed on railway.app图片上传导致服务器错误 (500) 部署在 rail.app 上的 Django 应用程序
【发布时间】:2022-11-06 23:07:24
【问题描述】:

我在 rail.app 上部署了一个 django 应用程序。在开发中,我可以上传图像,但是当我转到已部署的应用程序并单击上传时,它会导致我出现服务器错误 (500)。

以下是我的 settings.py 代码

STATIC_URL = 'static/'
# STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] 
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

if 'XXX' in os.environ:

    # Bucket config
    AWS_STORAGE_BUCKET_NAME = 'xxx'
    AWS_S3_REGION_NAME = 'xxx'
    AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
    AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
    AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'

    # Static and media files
    STATICFILES_STORAGE = 'custom_storages.StaticStorage'
    STATICFILES_LOCATION = 'static'
    DEFAULT_FILE_STORAGE = 'custom_storages.MediaStorage'
    MEDIAFILES_LOCATION = 'media'

    # Override static and media URLs in production
    STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{STATICFILES_LOCATION}/'
    MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{MEDIAFILES_LOCATION}/'

html代码

 <div>
      <img src="{{user_profile.profile_img.url}}" alt="Profile Image">   
 </div>
 
      <a href="{% url 'profile-image' user_profile.user user_profile.profile_uuid %}"</a>

【问题讨论】:

    标签: python django


    【解决方案1】:

    我已经解决了这个问题。我在生产中将 debug 更改为 true ,这导致我发现实际上在视图逻辑中的确切错误。 我正在获取引发此错误的图像的绝对路径,因此我更改了此逻辑以获取解决此问题的相对路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-20
      • 2018-01-09
      • 2018-12-30
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      • 2021-12-04
      相关资源
      最近更新 更多