当我运行项目时,会出现此错误。
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'
答案 0 :(得分:0)
“”“ learning_user项目的Django设置。
由“ Django-admin启动项目”使用Django 3.1.1生成。
有关此文件的更多信息,请参见 https://docs.djangoproject.com/en/3.1/topics/settings/
有关设置及其值的完整列表,请参见 https://docs.djangoproject.com/en/3.1/ref/settings/ “”“
从pathlib导入路径
答案 1 :(得分:0)
此错误是由于静态文件的配置而发生的
尝试一下:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
]
STATIC_ROOT = BASE_DIR / "staticfiles"
MEDIA_URL = "/media/"
MEDIA_ROOT = BASE_DIR / "media"
您不必使用os模块,这不是必需的。您的settings.py文件中已定义BASE_DIR。
STATICFILES_DIRS用于部署。如果需要,可以暂时将其删除。
答案 2 :(得分:0)
您可以使用属性 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'))