Skip to content

Commit 11dbf86

Browse files
committed
Change default use_param=None and value of False now disables Pages even when pages_folder has custom value
1 parent 03271db commit 11dbf86

File tree

2 files changed

+25
-15
lines changed

2 files changed

+25
-15
lines changed

Diff for: dash/dash.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,10 @@ class Dash:
205205
for pages of a multi-page app. Default ``'pages'``.
206206
:type pages_folder: string
207207
208-
:param use_pages: Default False, or True if you set a non-default ``pages_folder``.
209-
When True, the ``pages`` feature for multi-page apps is enabled.
210-
:type pages: boolean
208+
:param use_pages: When True, the ``pages`` feature for multi-page apps is
209+
enabled. If you set a non-default ``pages_folder`` this will be inferred
210+
to be True. Default `None`.
211+
:type use_pages: boolean
211212
212213
:param assets_url_path: The local urls for assets will be:
213214
``requests_pathname_prefix + assets_url_path + '/' + asset_path``
@@ -341,7 +342,7 @@ def __init__( # pylint: disable=too-many-statements
341342
server=True,
342343
assets_folder="assets",
343344
pages_folder="pages",
344-
use_pages=False,
345+
use_pages=None,
345346
assets_url_path="assets",
346347
assets_ignore="",
347348
assets_external_path=None,
@@ -439,7 +440,7 @@ def __init__( # pylint: disable=too-many-statements
439440
_pages.CONFIG = self.config
440441

441442
self.pages_folder = str(pages_folder)
442-
self.use_pages = True if pages_folder != "pages" else use_pages
443+
self.use_pages = (pages_folder != "pages") if use_pages is None else use_pages
443444

444445
# keep title as a class property for backwards compatibility
445446
self.title = title

Diff for: tests/unit/pages/test_pages_config.py

+19-10
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,26 @@ def test_pages_missing_path_config(empty_environ, pages_folder, use_pages, expec
6565

6666

6767
@pytest.mark.parametrize(
68-
"pages_folder",
68+
"use_pages, pages_folder",
6969
[
70-
"custom_pages",
71-
Path("custom_pages"),
72-
str(THIS_DIR / "custom_pages"),
73-
THIS_DIR / "custom_pages",
74-
str(THIS_DIR / "sub_dir" / "custom_pages"),
75-
THIS_DIR / "sub_dir" / "custom_pages",
70+
(True, "custom_pages"),
71+
(True, Path("custom_pages")),
72+
(True, str(THIS_DIR / "custom_pages")),
73+
(True, THIS_DIR / "custom_pages"),
74+
(True, str(THIS_DIR / "sub_dir" / "custom_pages")),
75+
(True, THIS_DIR / "sub_dir" / "custom_pages"),
76+
(None, "custom_pages"),
77+
(None, "pages"),
78+
(False, "custom_pages"),
7679
],
7780
)
78-
def test_pages_folder_app_config(empty_environ, clear_pages_state, pages_folder):
79-
app = Dash(__name__, pages_folder=pages_folder)
80-
assert app.use_pages
81+
def test_pages_folder_app_config(
82+
empty_environ, clear_pages_state, use_pages, pages_folder
83+
):
84+
app = Dash(__name__, use_pages=use_pages, pages_folder=pages_folder)
85+
if use_pages is None:
86+
expected_use_pages = bool(pages_folder != "pages")
87+
elif use_pages in (True, False):
88+
expected_use_pages = use_pages
89+
assert app.use_pages == expected_use_pages
8190
assert app.pages_folder == str(pages_folder)

0 commit comments

Comments
 (0)