首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django/cookiecutter-django错误:"AttributeError:'Path‘对象没有属性'endswith''“,带有manage.py makemigrations

Django/cookiecutter-django错误:"AttributeError:'Path‘对象没有属性'endswith''“,带有manage.py makemigrations
EN

Stack Overflow用户
提问于 2019-10-06 20:59:08
回答 1查看 93关注 0票数 0

我一直在尝试使用cookiecutter https://github.com/pydanny/cookiecutter-django.git设置Django和cookiecutter-django项目,当我最后运行./manage.py makemigrations时,我得到了这个错误输出。

我在virturalenv中的python版本是Python 3.5.2

这是控制台输出的尾部,而不是来自文件。堆栈溢出不允许我在没有更多其他文本的情况下发布所有的长错误输出。

代码语言:javascript
复制
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/db/models/base.py", line 156, in __new__
    new_class.add_to_class(obj_name, obj)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/db/models/base.py", line 321, in add_to_class
    value.contribute_to_class(cls, name)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/db/models/fields/related.py", line 1588, in contribute_to_class
    self.remote_field.through = create_many_to_many_intermediary_model(self, cls)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/db/models/fields/related.py", line 1057, in create_many_to_many_intermediary_model
    'verbose_name': _('%(from)s-%(to)s relationship') % {'from': from_, 'to': to},
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/functional.py", line 192, in __mod__
    return str(self) % rhs
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/functional.py", line 156, in __text_cast
    return func(*self.__args, **self.__kw)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/translation/__init__.py", line 79, in gettext
    return _trans.gettext(message)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/translation/trans_real.py", line 285, in gettext
    _default = _default or translation(settings.LANGUAGE_CODE)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/translation/trans_real.py", line 198, in translation
    _translations[language] = DjangoTranslation(language)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/translation/trans_real.py", line 99, in __init__
    self._add_local_translations()
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/translation/trans_real.py", line 151, in _add_local_translations
    translation = self._new_gnu_trans(localedir)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/site-packages/django/utils/translation/trans_real.py", line 123, in _new_gnu_trans
    fallback=use_null_fallback,
  File "/usr/lib/python3.5/gettext.py", line 428, in translation
    mofiles = find(domain, localedir, languages, all=True)
  File "/usr/lib/python3.5/gettext.py", line 396, in find
    mofile = os.path.join(localedir, lang, 'LC_MESSAGES', '%s.mo' % domain)
  File "/root/painlesslanguage/painlesslanguageenv/lib/python3.5/posixpath.py", line 84, in join
    elif not path or path.endswith(sep):
AttributeError: 'Path' object has no attribute 'endswith'

如果有必要的话,我将TIME_ZONE cookiecutter-django设置选项留空。

EN

回答 1

Stack Overflow用户

发布于 2021-07-18 22:34:26

这似乎是一个很难修复甚至调试的错误。一些用户没有在settings.py中正确地包含静态url,或者在INSTALLED_APPS声明中留下了一个尾随逗号,就会出现这个错误。

然而,就在我切换python版本时,我得到了这个错误。通过重新安装python并将pyenv python重新链接到brew,我最终以某种方式解决了它(当时)。

然而,现在它又回来了。肯定有一种方法可以调试它。所有堆栈跟踪都指向python安装中的文件或仅指向设置文件。但是如果你的设置文件看起来很好,那就真的很难知道如何修复它了。检查完你的python (检查后面没有逗号),建议重新安装settings.py,看看这是否有帮助。

如果这不起作用,那么帮助我的就是打印出正在安装的应用程序。为此,您必须在抛出错误的python/django代码中添加打印行。默认情况下,此信息不会发送到应用层,但应该发送到应用层。如果您再次更改py安装,这些文件将被删除。所以这是一种临时的/本地的方式来帮助你调试。实际上,如果框架无法导入应用程序,它应该发送名称信息。通过添加这些行,我发现了导入的问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58257472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档