0

Django Web サイト プロジェクトで、すべての静的イメージをローカルに提供しています。DEBUG = False が機能するには、それらを AWS でホストする必要があります。これを行う方法について多くのチュートリアルに従いましたが、うまくいきませんでした。私が見逃したものであることを願って、最後の努力のためにコードを以下に投稿しました。他の人がそうしているのを見たので、現在 AWS バケットを公開しています。どんな助けでも大歓迎です。ありがとう!

設定.py

AWS_ACCESS_KEY_ID = 'hidden for privacy'
AWS_SECRET_ACCESS_KEY = 'hidden for privacy'
AWS_STORAGE_BUCKET_NAME = 'hidden for privacy'

AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'


# Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'America/Caracas'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/

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

#MEDIA_URL = '/images/'
#MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images/')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, '..','www','media')

HTML

{%  load static %}
<!DOCTYPE html>
<html lang="en">

<head>
  <link rel="shortcut icon" type="image/x-icon" href="{% static 'tab_icon.ico' %}">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="{% static "css/side.css" %}">
  <link rel="stylesheet" href="{% static "css/style.css" %}">
  <link rel="stylesheet" href="{% static "css/materialize.css" %}">
  <link rel="stylesheet" href="{% static "css/front_page.css" %}">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>

<body>
<nav class="blue hide-on-med-and-down banner">
  <div class="nav-wrapper">
    <a href="/front_page" class="header__name"><img src="{% static 'logo_name.png' %}"></a>
  </div>
</nav>
</body>

私のバケット構造は、bucketname/images/すべての静的ファイルです。

私の静的ファイルは、ローカルで提供されている場合は正常に機能しますが、AWS に引き継ぐためにそれらを削除すると、画面に何も表示されず、「検査」すると、s3 と AWS からの長いユーザーではなく、ローカルにあるはずの場所への小さな URL が表示されます。私はAWSに精通しています。助けてくれてありがとう!

4

0 に答える 0