-
-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
If settings.BASE_DIR is a string, django-components errors when loading the templates #381
Comments
Hmm... maybe we should handle the case that it's a string too. I think wrapping BASE_DIR in Path is safe no matter if it's a Path or not from the start? Mind adding that as a PR? |
I can confirm that wrapping a Path again is safe. >>> foo = pathlib.Path('foo')
>>> bar = pathlib.Path(foo)
>>> foo == bar
True I'll try to create a PR this week for the code. I'll also write a test. If someone else wants to do it instead I don't mind. |
I am also having the same problem. Please notice that for django_components==0.34.1 it works, it breaks only for django_components==0.35. This is because of this line 0.34.1...0.35#diff-c6c9a460aa194de49542b7c8e241152e7727fd8d1ea49f77c3437b0373427d24R17 . My BASE_DIR is this Please provide a patch, thank you |
@spapas this is a hobby project for everyone here! If you have the bandwidth to wrap our Base_dir usage with Path() we will happily merge it. |
@EmilStenstrom unfortunately not right now, I'm to pressured by other stuff... I've resolved the issue by staying on 0.34.1 for now. |
In my settings file I had this as
BASE_DIR
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Which was later used for this in
TEMPLATES
:'DIRS': [os.path.join(BASE_DIR, 'templates')],
When I added django-components to the project this error happened
The solution is to change the
BASE_DIR
toBASE_DIR = Path(__file__).resolve().parent.parent.parent
, which is what #290 does in the example settings.Since
BASE_DIR
is not an official Django setting, just something mentioned in some places of the documentation, the library documentation should explain what the setting is and what value is expected to have (apathlib.Path
instance)The text was updated successfully, but these errors were encountered: