![](/img/trans.png)
[英]AttributeError: 'list' object has no attribute '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 導入路徑
由於靜態文件的配置而發生此錯誤
嘗試這個:
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.