关于同级目录下模块的引入问题报错, django,2.0的setting.py里INSTALLTED_APPS读不到自定义模块?

clipboard.png
关于同级目录下模块的引入问题请问为什么报错,
sys.path.insert(0,BASE_DIR)
将应用包加入系统变量, 便于模块导入
sys.path.insert(0,os.path.join(BASE_DIR, 'db_tools'))
sys.path.insert(0,os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0,os.path.join(BASE_DIR, 'extra_apps'))

clipboard.png
补充:
发现shell中引入没问题,但是外部文件中执行提示模块无法被引入

from goods.models import Goods

外部文件:
python models.py:
Traceback (most recent call last):
File "models.py", line 6, in <module>

from goods.models import Goods

ModuleNotFoundError: No module named 'goods'
django,2.0的setting.py里INSTALLTED_APPS读不到自定义模块?
clipboard.png

 filter_class = self.get_filter_class(view, queryset)
  File "/root/Virtualenv/venv3_ETC/lib/python3.6/site-packages/django_filters/rest_framework/backends.py", line 30, in get_filter_class
filter_model = filter_class.Meta.model
AttributeError: type object 'Meta' has no attribute 'model'

clipboard.png

clipboard.png` """

    Return the django-filters `FilterSet` used to filter the queryset.
    """
    filter_class = getattr(view, 'filter_class', None)
    filter_fields = getattr(view, 'filter_fields', None)
    if filter_class:
        filter_model = filter_class.Meta.model ...
        
        assert issubclass(queryset.model, filter_model), \
            'FilterSet model %s does not match queryset model %s' % \
            (filter_model, queryset.model)
        return filter_class

▶ Local vars`

阅读 5.2k
1 个回答

看图如上截图+我自己的推测,理解如下:

  1. 按你的引用,goods应该是一个package?即目录下有一个__init__.py
  2. goods下有一个模块modelsmodels中有个类Goods
  3. 在apps根目录新建__init__.py,即apps也是一个package
  4. models.py修改成
sys.path.append("../..")
from apps.goods.models import MyGoods
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题