Skip to content

Commit

Permalink
上线前配置 sentry,env,database
Browse files Browse the repository at this point in the history
  • Loading branch information
zmrenwu committed Nov 8, 2018
1 parent 6918233 commit 8265f6c
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 81 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ celerybeat-schedule
*.sage.py

# Environments
.env
config/settings/.env
.venv
env/
venv/
Expand Down
51 changes: 1 addition & 50 deletions config/settings/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,39 +104,6 @@

WSGI_APPLICATION = 'config.wsgi.application'

# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases

# sqlite3
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'dev.sqlite3'),
# }
# }

# mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '3306',
'OPTIONS': {
'autocommit': True,
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
'charset': 'utf8mb4',
},
'TEST': {
'NAME': 'django_test',
'CHARSET': 'utf8',
'COLLATION': 'utf8_general_ci',
}
}
}

# Password validation
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators

Expand Down Expand Up @@ -205,10 +172,6 @@
REST_AUTH_SERIALIZERS = {
'USER_DETAILS_SERIALIZER': 'users.serializers.UserDetailsSerializer',
}
SOCIAL_LOGIN_GITHUB_CALLBACK_URL = os.environ.get(
'SOCIAL_LOGIN_GITHUB_CALLBACK_URL',
'http://localhost:8000/social-auth/github/loginsuccess'
)

REST_AUTH_REGISTER_SERIALIZERS = {
'REGISTER_SERIALIZER': 'users.serializers.UserRegistrationSerializer',
Expand Down Expand Up @@ -236,16 +199,4 @@
# 软删除
NOTIFICATIONS_SOFT_DELETE = True

# 邮件,开发用测试
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_USE_LOCALTIME = True
EMAIL_HOST_USER = 'djangostudyteam@163.com'
EMAIL_HOST_PASSWORD = os.environ.get(
'DJANGO_EMAIL_HOST_PASSWORD', 'fallback_value')

# Default email address to use for various automated correspondence from the site manager(s).
DEFAULT_FROM_EMAIL = 'Django中文社区 <%s>' % EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
SOCIAL_LOGIN_GITHUB_CALLBACK_URL = 'dummy'
73 changes: 43 additions & 30 deletions config/settings/production.py
Original file line number Diff line number Diff line change
@@ -1,51 +1,64 @@
from .common import *
import environ

DEBUG = False
ALLOWED_HOSTS = ['.dj-china.org', 'localhost', '127.0.0.1', '0.0.0.0']
SECRET_KEY = os.environ['DJANGO_SECRET_KEY']

# envs
MYSQL_HOST = os.getenv('MYSQL_PASSWORD')
MYSQL_DB_NAME = os.getenv('MYSQL_MYSQL_DB_NAME')
MYSQL_DB_USER = os.getenv('MYSQL_MYSQL_DB_USER')
MYSQL_PASSWORD = os.getenv('MYSQL_PASSWORD')
env = environ.Env(
# set casting, default value
DEBUG=(bool, True),
SOCIAL_LOGIN_GITHUB_CALLBACK_URL=(str, 'http://127.0.0.1:8000/social-auth/github/loginsuccess')
)

environ.Env.read_env()
DEBUG = env('DEBUG') # default False
SECRET_KEY = env('SECRET_KEY')

# sentry dsn
RAVEN_CONFIG = {
'dsn': os.environ.get('SENTRY_DSN', ''),
'dsn': env('SENTRY_DSN'),
}

# 0: production
# 1: local test
local_test = os.environ.get('LOCAL_TEST', 0)

if local_test:
DEBUG = True
# sqlite3
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'dev.sqlite3'),
# import sentry_sdk
# from sentry_sdk.integrations.django import DjangoIntegration
#
# sentry_sdk.init(
# dsn=env('SENTRY_DSN'),
# integrations=[DjangoIntegration()]
# )

# GitHub 登录
SOCIAL_LOGIN_GITHUB_CALLBACK_URL = env('SOCIAL_LOGIN_GITHUB_CALLBACK_URL')

# mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': env('MYSQL_NAME'),
'USER': env('MYSQL_USER'),
'PASSWORD': env('MYSQL_PASSWORD'),
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'autocommit': True,
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
'charset': 'utf8mb4',
},
'TEST': {
'NAME': 'django_test',
'CHARSET': 'utf8',
'COLLATION': 'utf8_general_ci',
}
}
else:
# database
DATABASES['default'].update(
{'HOST': MYSQL_HOST,
'NAME': MYSQL_DB_NAME,
'USER': MYSQL_DB_USER,
'PASSWORD': MYSQL_PASSWORD,
})
}

# 邮件配置,使用腾讯云企业邮箱
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.exmail.qq.com'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_USE_LOCALTIME = True
EMAIL_HOST_USER = 'master@dj-china.org'
EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_HOST_PASSWORD', 'fallback_value')
EMAIL_HOST_USER = env('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = env('EMAIL_HOST_PASSWORD')

# Default email address to use for various automated correspondence from the site manager(s).
DEFAULT_FROM_EMAIL = 'Django中文社区 <%s>' % EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
1 change: 1 addition & 0 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ django-model-utils==3.1.1
django-cors-headers==2.2.0
mysqlclient==1.3.12
django-imagekit==4.0.2
django-environ==0.4.5
raven
git+https://github.com/zmrenwu/django-activity-stream.git@master#egg=django-activity-stream

0 comments on commit 8265f6c

Please sign in to comment.