-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathsettings.py
92 lines (75 loc) · 3.06 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
import importlib.util
from os import environ
# SET THIS IN YOUR OWN EXPERIMENTS
SECRET_KEY = '...'
# List of example experiments
SESSION_CONFIGS = [
{
'name': 'otreeutils_example1',
'display_name': 'otreeutils example 1 (Understanding questions, timeout warnings, custom page URLs)',
'num_demo_participants': 1, # doesn't matter
'app_sequence': ['otreeutils_example1'],
},
{
'name': 'otreeutils_example2',
'display_name': 'otreeutils example 2 (Surveys)',
'num_demo_participants': 4, # every second player gets treatment 2
'app_sequence': ['otreeutils_example2'],
},
{ # the following experiments are only available when you install otreeutils as `pip install otreeutils[admin]`
'name': 'otreeutils_example3_market',
'display_name': 'otreeutils example 3 (Custom data models: Market)',
'num_demo_participants': 3, # at least two
'app_sequence': ['otreeutils_example3_market'],
},
{
'name': 'otreeutils_example4_market_and_survey',
'display_name': 'otreeutils example 4 (Market and survey)',
'num_demo_participants': 3, # at least two
'app_sequence': ['otreeutils_example3_market', 'otreeutils_example2'],
}
]
# if you set a property in SESSION_CONFIG_DEFAULTS, it will be inherited by all configs
# in SESSION_CONFIGS, except those that explicitly override it.
# the session config can be accessed from methods in your apps as self.session.config,
# e.g. self.session.config['participation_fee']
SESSION_CONFIG_DEFAULTS = dict(
real_world_currency_per_point=1.00, participation_fee=0.00, doc=""
)
# ISO-639 code
# for example: de, fr, ja, ko, zh-hans
LANGUAGE_CODE = 'en'
# e.g. EUR, GBP, CNY, JPY
REAL_WORLD_CURRENCY_CODE = 'USD'
USE_POINTS = False
ROOMS = [
dict(
name='econ101',
display_name='Econ 101 class',
participant_label_file='_rooms/econ101.txt',
),
dict(name='live_demo', display_name='Room for live demo (no participant labels)'),
]
ADMIN_USERNAME = 'admin'
# for security, best to set admin password in an environment variable
ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD')
DEMO_PAGE_INTRO_HTML = """
otreeutils examples
"""
# the environment variable OTREE_PRODUCTION controls whether Django runs in
# DEBUG mode. If OTREE_PRODUCTION==1, then DEBUG=False
if environ.get('OTREE_PRODUCTION') not in {None, '', '0'}:
DEBUG = False
APPS_DEBUG = False
else:
DEBUG = True
APPS_DEBUG = True # will set a debug variable to true in the template files
# if an app is included in SESSION_CONFIGS, you don't need to list it here
INSTALLED_APPS = [
'otree',
'otreeutils' # this is important -- otherwise otreeutils' templates and static files won't be accessible
]
# custom URL and WebSockets configuration
# this is important -- otherwise otreeutils' admin extensions won't be activated
if importlib.util.find_spec('pandas'):
ROOT_URLCONF = 'otreeutils_example3_market.urls'