Update naming, add link

This commit is contained in:
Rahul Gupta 2022-11-29 09:20:48 -08:00
parent 89d2f3b433
commit 2517603009
No known key found for this signature in database
GPG Key ID: B69B4640EE4892F7
9 changed files with 31 additions and 40 deletions

View File

@ -27,7 +27,7 @@
"cloud_provider": [ "cloud_provider": [
"AWS", "AWS",
"GCP", "GCP",
"AZURE", "Azure",
"None" "None"
], ],
"mail_service": [ "mail_service": [

View File

@ -66,7 +66,7 @@ cloud_provider:
1. AWS_ 1. AWS_
2. GCP_ 2. GCP_
3. AZURE_ 3. Azure_
4. None 4. None
Note that if you choose no cloud provider, media files won't work. Note that if you choose no cloud provider, media files won't work.
@ -148,6 +148,7 @@ debug:
.. _AWS: https://aws.amazon.com/s3/ .. _AWS: https://aws.amazon.com/s3/
.. _GCP: https://cloud.google.com/storage/ .. _GCP: https://cloud.google.com/storage/
.. _Azure: https://azure.microsoft.com/en-us/products/storage/blobs/
.. _Amazon SES: https://aws.amazon.com/ses/ .. _Amazon SES: https://aws.amazon.com/ses/
.. _Mailgun: https://www.mailgun.com .. _Mailgun: https://www.mailgun.com

View File

@ -49,8 +49,8 @@ DJANGO_AWS_S3_CUSTOM_DOMAIN AWS_S3_CUSTOM_DOMAIN n/a
DJANGO_AWS_S3_MAX_MEMORY_SIZE AWS_S3_MAX_MEMORY_SIZE n/a 100_000_000 DJANGO_AWS_S3_MAX_MEMORY_SIZE AWS_S3_MAX_MEMORY_SIZE n/a 100_000_000
DJANGO_GCP_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error DJANGO_GCP_STORAGE_BUCKET_NAME GS_BUCKET_NAME n/a raises error
GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error GOOGLE_APPLICATION_CREDENTIALS n/a n/a raises error
DJANGO_AZURE_STORAGE_ACCOUNT_KEY AZURE_ACCOUNT_KEY n/a raises error DJANGO_AZURE_ACCOUNT_KEY AZURE_ACCOUNT_KEY n/a raises error
DJANGO_AZURE_STORAGE_ACCOUNT_NAME AZURE_ACCOUNT_NAME n/a raises error DJANGO_AZURE_ACCOUNT_NAME AZURE_ACCOUNT_NAME n/a raises error
DJANGO_AZURE_CONTAINER_NAME AZURE_CONTAINER n/a raises error DJANGO_AZURE_CONTAINER_NAME AZURE_CONTAINER n/a raises error
SENTRY_DSN SENTRY_DSN n/a raises error SENTRY_DSN SENTRY_DSN n/a raises error
SENTRY_ENVIRONMENT n/a n/a production SENTRY_ENVIRONMENT n/a n/a production

View File

@ -72,18 +72,8 @@ if (
sys.exit(1) sys.exit(1)
if ( if (
( "{{ cookiecutter.mail_service }}" == "Amazon SES"
"{{ cookiecutter.cloud_provider }}" == "GCP" and "{{ cookiecutter.cloud_provider }}" != "AWS"
and "{{ cookiecutter.mail_service }}" == "Amazon SES"
)
or (
"{{ cookiecutter.cloud_provider }}" == "AZURE"
and "{{ cookiecutter.mail_service }}" == "Amazon SES"
)
or (
"{{ cookiecutter.cloud_provider }}" == "None"
and "{{ cookiecutter.mail_service }}" == "Amazon SES"
)
): ):
print( print(
"You should either use AWS or select a different " "You should either use AWS or select a different "

View File

@ -56,8 +56,8 @@ SUPPORTED_COMBINATIONS = [
{"cloud_provider": "AWS", "use_whitenoise": "n"}, {"cloud_provider": "AWS", "use_whitenoise": "n"},
{"cloud_provider": "GCP", "use_whitenoise": "y"}, {"cloud_provider": "GCP", "use_whitenoise": "y"},
{"cloud_provider": "GCP", "use_whitenoise": "n"}, {"cloud_provider": "GCP", "use_whitenoise": "n"},
{"cloud_provider": "AZURE", "use_whitenoise": "y"}, {"cloud_provider": "Azure", "use_whitenoise": "y"},
{"cloud_provider": "AZURE", "use_whitenoise": "n"}, {"cloud_provider": "Azure", "use_whitenoise": "n"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mailgun"}, {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mailgun"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mailjet"}, {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mailjet"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mandrill"}, {"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mandrill"},
@ -84,15 +84,15 @@ SUPPORTED_COMBINATIONS = [
{"cloud_provider": "GCP", "mail_service": "SendinBlue"}, {"cloud_provider": "GCP", "mail_service": "SendinBlue"},
{"cloud_provider": "GCP", "mail_service": "SparkPost"}, {"cloud_provider": "GCP", "mail_service": "SparkPost"},
{"cloud_provider": "GCP", "mail_service": "Other SMTP"}, {"cloud_provider": "GCP", "mail_service": "Other SMTP"},
{"cloud_provider": "AZURE", "mail_service": "Mailgun"}, {"cloud_provider": "Azure", "mail_service": "Mailgun"},
{"cloud_provider": "AZURE", "mail_service": "Mailjet"}, {"cloud_provider": "Azure", "mail_service": "Mailjet"},
{"cloud_provider": "AZURE", "mail_service": "Mandrill"}, {"cloud_provider": "Azure", "mail_service": "Mandrill"},
{"cloud_provider": "AZURE", "mail_service": "Postmark"}, {"cloud_provider": "Azure", "mail_service": "Postmark"},
{"cloud_provider": "AZURE", "mail_service": "Sendgrid"}, {"cloud_provider": "Azure", "mail_service": "Sendgrid"},
{"cloud_provider": "AZURE", "mail_service": "SendinBlue"}, {"cloud_provider": "Azure", "mail_service": "SendinBlue"},
{"cloud_provider": "AZURE", "mail_service": "SparkPost"}, {"cloud_provider": "Azure", "mail_service": "SparkPost"},
{"cloud_provider": "AZURE", "mail_service": "Other SMTP"}, {"cloud_provider": "Azure", "mail_service": "Other SMTP"},
# Note: cloud_providers GCP, AZURE, and None # Note: cloud_providers GCP, Azure, and None
# with mail_service Amazon SES is not supported # with mail_service Amazon SES is not supported
{"use_async": "y"}, {"use_async": "y"},
{"use_async": "n"}, {"use_async": "n"},
@ -124,7 +124,7 @@ SUPPORTED_COMBINATIONS = [
UNSUPPORTED_COMBINATIONS = [ UNSUPPORTED_COMBINATIONS = [
{"cloud_provider": "None", "use_whitenoise": "n"}, {"cloud_provider": "None", "use_whitenoise": "n"},
{"cloud_provider": "GCP", "mail_service": "Amazon SES"}, {"cloud_provider": "GCP", "mail_service": "Amazon SES"},
{"cloud_provider": "AZURE", "mail_service": "Amazon SES"}, {"cloud_provider": "Azure", "mail_service": "Amazon SES"},
{"cloud_provider": "None", "mail_service": "Amazon SES"}, {"cloud_provider": "None", "mail_service": "Amazon SES"},
] ]

View File

@ -44,11 +44,11 @@ DJANGO_AWS_STORAGE_BUCKET_NAME=
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
GOOGLE_APPLICATION_CREDENTIALS= GOOGLE_APPLICATION_CREDENTIALS=
DJANGO_GCP_STORAGE_BUCKET_NAME= DJANGO_GCP_STORAGE_BUCKET_NAME=
{% elif cookiecutter.cloud_provider == 'AZURE' %} {% elif cookiecutter.cloud_provider == 'Azure' %}
# AZURE # Azure
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
DJANGO_AZURE_STORAGE_ACCOUNT_KEY= DJANGO_AZURE_ACCOUNT_KEY=
DJANGO_AZURE_STORAGE_ACCOUNT_NAME= DJANGO_AZURE_ACCOUNT_NAME=
DJANGO_AZURE_CONTAINER_NAME= DJANGO_AZURE_CONTAINER_NAME=
{% endif %} {% endif %}
# django-allauth # django-allauth

View File

@ -100,9 +100,9 @@ aws_s3_domain = AWS_S3_CUSTOM_DOMAIN or f"{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws
{% elif cookiecutter.cloud_provider == 'GCP' %} {% elif cookiecutter.cloud_provider == 'GCP' %}
GS_BUCKET_NAME = env("DJANGO_GCP_STORAGE_BUCKET_NAME") GS_BUCKET_NAME = env("DJANGO_GCP_STORAGE_BUCKET_NAME")
GS_DEFAULT_ACL = "publicRead" GS_DEFAULT_ACL = "publicRead"
{% elif cookiecutter.cloud_provider == 'AZURE' %} {% elif cookiecutter.cloud_provider == 'Azure' %}
AZURE_ACCOUNT_KEY = env("DJANGO_AZURE_STORAGE_ACCOUNT_KEY") AZURE_ACCOUNT_KEY = env("DJANGO_AZURE_ACCOUNT_KEY")
AZURE_ACCOUNT_NAME = env("DJANGO_AZURE_STORAGE_ACCOUNT_NAME") AZURE_ACCOUNT_NAME = env("DJANGO_AZURE_ACCOUNT_NAME")
AZURE_CONTAINER = env("DJANGO_AZURE_CONTAINER_NAME") AZURE_CONTAINER = env("DJANGO_AZURE_CONTAINER_NAME")
{% endif -%} {% endif -%}
@ -120,7 +120,7 @@ STATIC_URL = f"https://{aws_s3_domain}/static/"
STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootGoogleCloudStorage" STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootGoogleCloudStorage"
COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy" COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy"
STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/"
{% elif cookiecutter.cloud_provider == 'AZURE' -%} {% elif cookiecutter.cloud_provider == 'Azure' -%}
STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootAzureStorage" STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticRootAzureStorage"
STATIC_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/static/" STATIC_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/static/"
{% endif -%} {% endif -%}
@ -133,7 +133,7 @@ MEDIA_URL = f"https://{aws_s3_domain}/media/"
{%- elif cookiecutter.cloud_provider == 'GCP' %} {%- elif cookiecutter.cloud_provider == 'GCP' %}
DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootGoogleCloudStorage" DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootGoogleCloudStorage"
MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/"
{%- elif cookiecutter.cloud_provider == 'AZURE' %} {%- elif cookiecutter.cloud_provider == 'Azure' %}
DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootAzureStorage" DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaRootAzureStorage"
MEDIA_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/media/" MEDIA_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/media/"
{%- endif %} {%- endif %}
@ -238,7 +238,7 @@ COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True)
{%- if cookiecutter.cloud_provider == 'None' %} {%- if cookiecutter.cloud_provider == 'None' %}
# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE
COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage" COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage"
{%- elif cookiecutter.cloud_provider in ('AWS', 'GCP', 'AZURE') and cookiecutter.use_whitenoise == 'n' %} {%- elif cookiecutter.cloud_provider in ('AWS', 'GCP', 'Azure') and cookiecutter.use_whitenoise == 'n' %}
# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE # https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE
COMPRESS_STORAGE = STATICFILES_STORAGE COMPRESS_STORAGE = STATICFILES_STORAGE
{%- endif %} {%- endif %}

View File

@ -20,7 +20,7 @@ hiredis==2.0.0 # https://github.com/redis/hiredis-py
django-storages[boto3]==1.13.1 # https://github.com/jschneier/django-storages django-storages[boto3]==1.13.1 # https://github.com/jschneier/django-storages
{%- elif cookiecutter.cloud_provider == 'GCP' %} {%- elif cookiecutter.cloud_provider == 'GCP' %}
django-storages[google]==1.13.1 # https://github.com/jschneier/django-storages django-storages[google]==1.13.1 # https://github.com/jschneier/django-storages
{%- elif cookiecutter.cloud_provider == 'AZURE' %} {%- elif cookiecutter.cloud_provider == 'Azure' %}
django-storages[azure]==1.13.1 # https://github.com/jschneier/django-storages django-storages[azure]==1.13.1 # https://github.com/jschneier/django-storages
{%- endif %} {%- endif %}
{%- if cookiecutter.mail_service == 'Mailgun' %} {%- if cookiecutter.mail_service == 'Mailgun' %}

View File

@ -22,7 +22,7 @@ class StaticRootGoogleCloudStorage(GoogleCloudStorage):
class MediaRootGoogleCloudStorage(GoogleCloudStorage): class MediaRootGoogleCloudStorage(GoogleCloudStorage):
location = "media" location = "media"
file_overwrite = False file_overwrite = False
{%- elif cookiecutter.cloud_provider == 'AZURE' -%} {%- elif cookiecutter.cloud_provider == 'Azure' -%}
from storages.backends.azure_storage import AzureStorage from storages.backends.azure_storage import AzureStorage