Merge pull request #3678 from jab/1.1.x-pathlib-static-folder

Cherry-pick 7ba35c4 from master (support pathlib.Path for static_folder)
This commit is contained in:
Joshua Bronson 2020-07-06 13:51:17 -04:00 committed by GitHub
commit b82c2e611a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 1 deletions

View File

@ -1,5 +1,16 @@
.. currentmodule:: flask
Version 1.1.x
-------------
Not yet released.
- Officially support passing a :class:`pathlib.Path` for
``static_folder`` which stopped working in 1.1.2. :pr:`3579`
Version 1.1.2
-------------

View File

@ -1001,7 +1001,7 @@ class _PackageBoundObject(object):
@static_folder.setter
def static_folder(self, value):
if value is not None:
value = value.rstrip("/\\")
value = os.fspath(value).rstrip(r"\/")
self._static_folder = value
@property

View File

@ -1425,6 +1425,16 @@ def test_static_url_empty_path_default(app):
rv.close()
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires Python >= 3.6")
def test_static_folder_with_pathlib_path(app):
from pathlib import Path
app = flask.Flask(__name__, static_folder=Path("static"))
rv = app.test_client().open("/static/index.html", method="GET")
assert rv.status_code == 200
rv.close()
def test_static_folder_with_ending_slash():
app = flask.Flask(__name__, static_folder="static/")