[3.1.x] Fixed #31912 -- Removed strict=True in Path.resolve() in project template and CommonPasswordValidator.
This caused permission errors when user didn't have permissions to all intermediate directories in a Django installation path. Thanks tytusd and leonyxz for reports. Regression inedeec1247e
and26554cf5d1
. Backport ofe39e727ded
from master
This commit is contained in:
parent
9075d1f662
commit
14a19700d8
|
@ -13,7 +13,7 @@ https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/
|
|||
from pathlib import Path
|
||||
|
||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
|
|
|
@ -167,7 +167,7 @@ class CommonPasswordValidator:
|
|||
https://gist.github.com/roycewilliams/281ce539915a947a23db17137d91aeb7
|
||||
The password list must be lowercased to match the comparison in validate().
|
||||
"""
|
||||
DEFAULT_PASSWORD_LIST_PATH = Path(__file__).resolve(strict=True).parent / 'common-passwords.txt.gz'
|
||||
DEFAULT_PASSWORD_LIST_PATH = Path(__file__).resolve().parent / 'common-passwords.txt.gz'
|
||||
|
||||
def __init__(self, password_list_path=DEFAULT_PASSWORD_LIST_PATH):
|
||||
try:
|
||||
|
|
|
@ -29,7 +29,7 @@ called ``blog``, which provides the templates ``blog/post.html`` and
|
|||
|
||||
from pathlib import Path
|
||||
|
||||
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
INSTALLED_APPS = [
|
||||
...,
|
||||
|
|
|
@ -43,3 +43,8 @@ Bugfixes
|
|||
* Fixed ``__in`` lookup on key transforms for
|
||||
:class:`~django.db.models.JSONField` with MariaDB, MySQL, Oracle, and SQLite
|
||||
(:ticket:`31936`).
|
||||
|
||||
* Fixed a regression in Django 3.1 that caused permission errors in
|
||||
``CommonPasswordValidator`` and ``settings.py`` generated by the
|
||||
:djadmin:`startproject` command, when user didn't have permissions to all
|
||||
intermediate directories in a Django installation path (:ticket:`31912`).
|
||||
|
|
Loading…
Reference in New Issue