簡體   English   中英

AttributeError: 'WindowsPath' 對象沒有屬性 'endswith'

[英]AttributeError: 'WindowsPath' object has no attribute 'endswith'

當我運行我的項目時,會出現此錯誤。

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\site-packages\django\core\management\commands\runserver.py", line 118, in inner_run
    self.check(display_num_errors=True)
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\site-packages\django\core\management\base.py", line 396, in check
    databases=databases,
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\site-packages\django\core\checks\registry.py", line 70, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\site-packages\django\contrib\staticfiles\checks.py", line 9, in check_finders
    finder_errors = finder.check()
  File "C:\Users\Mowgli\anaconda3\envs\surajDjangoEnv\lib\site-packages\django\contrib\staticfiles\finders.py", line 81, in check
    if prefix.endswith('/'):
AttributeError: 'WindowsPath' object has no attribute 'endswith'

""" learning_user 項目的 Django 設置。

使用 Django 3.1.1 由“Django-admin 啟動項目”生成。

有關此文件的更多信息,請參閱https://docs.djangoproject.com/en/3.1/topics/settings/

有關設置及其值的完整列表,請參閱https://docs.djangoproject.com/en/3.1/ref/settings/ """

從 pathlib 導入路徑

像這樣在項目中構建路徑:BASE_DIR / 'subdir'。

由於靜態文件的配置而發生此錯誤

嘗試這個:

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    BASE_DIR / "static",
]

STATIC_ROOT = BASE_DIR / "staticfiles"

MEDIA_URL = "/media/"

MEDIA_ROOT = BASE_DIR / "media"

您不必使用 os 模塊,它沒有必要。 BASE_DIR 已在 settings.py 文件中定義。

STATICFILES_DIRS 用於部署。 如果需要,您可以暫時將其刪除。

點擊查看詳細說明

您可以使用屬性parts獲取 WindowsPath 對象的部分 選擇最后一部分並使用endswith屬性。

import pathlib
import os

path_to_here = pathlib.Path(os.getcwd())
last_part = path_to_here.parts[-1]
print(last_part.endswith('ending'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM