示例#1
0
import os

from settings.components import config
from settings.components.base import DATABASES

ALLOWED_HOSTS = ["operationcode.org", "pybot.operationcode.org"]
DEBUG = False

if config("EXTRA_HOSTS", default=""):
    ALLOWED_HOSTS += [s.strip() for s in os.environ["EXTRA_HOSTS"].split(",")]

# Needed for AWS health check
try:
    import socket

    local_ip = str(socket.gethostbyname(socket.gethostname()))
    ALLOWED_HOSTS.append(local_ip)
except Exception as ex:  # pragma: no cover
    print(ex)

DATABASES = {
    "default": {
        **DATABASES["default"],
        "ENGINE":
        config("DB_ENGINE", default="django.db.backends.postgresql"),
    }
}

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
AWS_S3_OBJECT_PARAMETERS = {"CacheControl": "max-age=86400"}
REST_AUTH_REGISTER_SERIALIZERS = {
    "REGISTER_SERIALIZER": "core.serializers.RegisterSerializer"
}

# Django REST framework JWT
# https://getblimp.github.io/django-rest-framework-jwt/
JWT_AUTH = {
    "JWT_PAYLOAD_HANDLER": "core.handlers.custom_jwt_payload_handler",
    "JWT_PAYLOAD_GET_USERNAME_HANDLER": "core.handlers.get_username_from_jwt",
    "JWT_AUTH_HEADER_PREFIX": "Bearer",
    "JWT_EXPIRATION_DELTA": datetime.timedelta(hours=1),
    "JWT_ALLOW_REFRESH": False,
    "JWT_AUTH_COOKIE": None,
}

# Allauth social providers
# https://django-allauth.readthedocs.io/en/latest/providers.html
SOCIALACCOUNT_PROVIDERS = {
    "google": {"SCOPE": ["profile", "email"], "AUTH_PARAMS": {"access_type": "online"}}
}

GITHUB_AUTH_CALLBACK_URL = config(
    "GITHUB_AUTH_CALLBACK_URL",
    default="http://localhost:8000/dev/github/login/callback/",
)

RECAPTCHA_PUBLIC_KEY = config("RECAPTCHA_PUBLIC_KEY", "MyRecaptchaKey123")
RECAPTCHA_PRIVATE_KEY = config("RECAPTCHA_PRIVATE_KEY", "MyRecaptchaPrivateKey456")

CORS_ORIGIN_ALLOW_ALL = True
示例#3
0
}

# Django REST framework JWT
# https://getblimp.github.io/django-rest-framework-jwt/
JWT_AUTH = {
    "JWT_PAYLOAD_HANDLER": "core.handlers.custom_jwt_payload_handler",
    "JWT_PAYLOAD_GET_USERNAME_HANDLER": "core.handlers.get_username_from_jwt",
    "JWT_AUTH_HEADER_PREFIX": "Bearer",
    "JWT_EXPIRATION_DELTA": datetime.timedelta(hours=1),
    "JWT_ALLOW_REFRESH": False,
    "JWT_AUTH_COOKIE": None,
}

# Allauth social providers
# https://django-allauth.readthedocs.io/en/latest/providers.html
SOCIALACCOUNT_PROVIDERS = {
    "google": {
        "SCOPE": ["profile", "email"],
        "AUTH_PARAMS": {
            "access_type": "online"
        }
    }
}

GITHUB_AUTH_CALLBACK_URL = config(
    "GITHUB_AUTH_CALLBACK_URL",
    default="http://localhost:8000/dev/github/login/callback/",
)

CORS_ORIGIN_ALLOW_ALL = True
示例#4
0
"""
Configs for the temporary frontend app
"""
from settings.components import config

RECAPTCHA_PUBLIC_KEY = config("RECAPTCHA_PUBLIC_KEY", default="")
RECAPTCHA_PRIVATE_KEY = config("RECAPTCHA_PRIVATE_KEY", default="")
GITHUB_JWT = config("GITHUB_JWT", default="")
GITHUB_REPO = config("GITHUB_REPO", default="")
示例#5
0
from settings.components import config

# OperationCode Slackbot
# https://github.com/OperationCode/operationcode-pybot
PYBOT_AUTH_TOKEN = config("PYBOT_AUTH_TOKEN", default="")
PYBOT_URL = config("PYBOT_URL", default="http://localhost:5000")

# Mailchimp3
# https://pypi.org/project/mailchimp3/
MAILCHIMP_API_KEY = config("MAILCHIMP_API_KEY", default="")
MAILCHIMP_USERNAME = config("MAILCHIMP_USERNAME", default="")
MAILCHIMP_LIST_ID = config("MAILCHIMP_LIST_ID", default="")

# Mandrill anymail configs
MANDRILL_API_KEY = config("MANDRILL_API_KEY", default="")
if MANDRILL_API_KEY:  # pragma: no cover
    ANYMAIL = {"MANDRILL_API_KEY": MANDRILL_API_KEY}
示例#6
0
文件: base.py 项目: y1027/back-end
from settings.components import BASE_DIR, config

SECRET_KEY = config("SECRET_KEY", default="SUPA_SECRET")
TESTING = False

# Application definition
INSTALLED_APPS = [
    # Our apps
    "core.apps.CoreConfig",
    "api.apps.ApiConfig",
    "frontend.apps.FrontendConfig",
    # Django Suit Admin Console
    # https://django-suit.readthedocs.io
    "suit",
    # Default Django apps:
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "django.contrib.sites",
    # Django anymail
    # https://anymail.readthedocs.io/en/stable/
    "anymail",
    # django-background-tasks
    # https://django-background-tasks.readthedocs.io/en/latest/
    "background_task",
    # django-suit-daterange-filter
    # https://github.com/f213/django-suit-daterange-filter
    "date_range_filter",
示例#7
0
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration

from settings.components import ENVIRONMENT, config

# Sentry.io error tracking
# https://docs.sentry.io/platforms/python/django/
SENTRY_DSN = config("SENTRY_DSN", default="")
RELEASE = config("RELEASE", default="0.0.0")

if SENTRY_DSN:  # pragma: no cover
    sentry_sdk.init(
        dsn=SENTRY_DSN,
        integrations=[DjangoIntegration()],
        environment=ENVIRONMENT,
        release=RELEASE,
    )
示例#8
0
REST_AUTH_REGISTER_SERIALIZERS = {
    "REGISTER_SERIALIZER": "core.serializers.RegisterSerializer"
}

# Django REST framework JWT
# https://getblimp.github.io/django-rest-framework-jwt/
JWT_AUTH = {
    "JWT_PAYLOAD_HANDLER": "core.handlers.custom_jwt_payload_handler",
    "JWT_PAYLOAD_GET_USERNAME_HANDLER": "core.handlers.get_username_from_jwt",
    "JWT_AUTH_HEADER_PREFIX": "Bearer",
    "JWT_EXPIRATION_DELTA": datetime.timedelta(hours=1),
    "JWT_ALLOW_REFRESH": False,
    "JWT_AUTH_COOKIE": None,
}

# Allauth social providers
# https://django-allauth.readthedocs.io/en/latest/providers.html
SOCIALACCOUNT_PROVIDERS = {
    "google": {"SCOPE": ["profile", "email"], "AUTH_PARAMS": {"access_type": "online"}}
}

GITHUB_AUTH_CALLBACK_URL = config(
    "GITHUB_AUTH_CALLBACK_URL", default="http://localhost:3000/"
)

RECAPTCHA_PUBLIC_KEY = config("RECAPTCHA_PUBLIC_KEY", "MyRecaptchaKey123")
RECAPTCHA_PRIVATE_KEY = config("RECAPTCHA_PRIVATE_KEY", "MyRecaptchaPrivateKey456")

CORS_ORIGIN_ALLOW_ALL = True