-
Notifications
You must be signed in to change notification settings - Fork 4
/
settings.py
103 lines (84 loc) · 2.83 KB
/
settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
"""
This is an optional file that defined app level settings such as:
- database settings
- session settings
- i18n settings
This file is provided as an example:
"""
import os
from py4web.core import required_folder
# db settings
APP_FOLDER = os.path.dirname(__file__)
APP_NAME = os.path.split(APP_FOLDER)[-1]
# DB_FOLDER: Sets the place where migration files will be created
# and is the store location for SQLite databases
DB_FOLDER = required_folder(APP_FOLDER, "databases")
DB_URI = "sqlite://grid_tutorial.db"
DB_POOL_SIZE = 1
DB_MIGRATE = True
DB_FAKE_MIGRATE = True # maybe?
# location where static files are stored:
STATIC_FOLDER = required_folder(APP_FOLDER, "static")
# location where to store uploaded files:
UPLOAD_FOLDER = required_folder(APP_FOLDER, "uploads")
# send verification email on registration
VERIFY_EMAIL = True
# account requires to be approved ?
REQUIRES_APPROVAL = False
# auto login after registration
# requires False VERIFY_EMAIL & REQUIRES_APPROVAL
LOGIN_AFTER_REGISTRATION = False
# ALLOWED_ACTIONS in API / default Forms:
# ["all"]
# ["login", "logout", "request_reset_password", "reset_password", \
# "change_password", "change_email", "profile", "config", "register",
# "verify_email", "unsubscribe"]
# Note: if you add "login", add also "logout"
ALLOWED_ACTIONS = ["all"]
# email settings
SMTP_SSL = False
SMTP_SERVER = None
SMTP_SENDER = "[email protected]"
SMTP_LOGIN = "username:password"
SMTP_TLS = False
# session settings
SESSION_TYPE = "cookies"
SESSION_SECRET_KEY = "<session-secret-key>" # replace this with a uuid
MEMCACHE_CLIENTS = ["127.0.0.1:11211"]
REDIS_SERVER = "localhost:6379"
# logger settings
LOGGERS = [
"warning:stdout"
] # syntax "severity:filename" filename can be stderr or stdout
# Disable default login when using OAuth
DEFAULT_LOGIN_ENABLED = True
# single sign on Google (will be used if provided)
OAUTH2GOOGLE_CLIENT_ID = None
OAUTH2GOOGLE_CLIENT_SECRET = None
# single sign on Okta (will be used if provided. Please also add your tenant
# name to py4web/utils/auth_plugins/oauth2okta.py. You can replace the XXX
# instances with your tenant name.)
OAUTH2OKTA_CLIENT_ID = None
OAUTH2OKTA_CLIENT_SECRET = None
# single sign on Google (will be used if provided)
OAUTH2FACEBOOK_CLIENT_ID = None
OAUTH2FACEBOOK_CLIENT_SECRET = None
# enable PAM
USE_PAM = False
# enable LDAP
USE_LDAP = False
LDAP_SETTINGS = {
"mode": "ad", # Microsoft Active Directory
"server": "mydc.domain.com", # FQDN or IP of one Domain Controller
"base_dn": "cn=Users,dc=domain,dc=com", # base dn, i.e. where the users are located
}
# i18n settings
T_FOLDER = required_folder(APP_FOLDER, "translations")
# Celery settings
USE_CELERY = False
CELERY_BROKER = "redis://localhost:6379/0"
# try import private settings
try:
from .settings_private import *
except (ImportError, ModuleNotFoundError):
pass