【问题标题】:Accessing relative import beyond top-level package访问顶级包之外的相对导入
【发布时间】:2018-06-30 16:17:24
【问题描述】:

我已经在 stackoverflow 上进行了搜索,但我无法找到答案。

我有这个目录:

project/
    util/
        utility.py
    models.py

所以这里是对每个文件的作用的描述

models.py : 包含我的 django 模型列表

utility.py:
from ..models import *
[...]

我可以知道为什么我不断收到此错误: ValueError: attempted relative import beyond top-level package?

我该如何解决这个问题?

【问题讨论】:

    标签: django django-models pycharm python-import valueerror


    【解决方案1】:

    原因是您尝试从non-package 目录导入。也就是说,project 文件夹不是包,因为它没有 init.py。这就是为什么,您会收到此错误。

    试试这个:

    from project.models import * 
    

    【讨论】:

    • 我已经尝试过了,但它给了我一个 django.core.exception: InproperlyConfigered
    • @AKJ 是 project Django 应用程序还是项目根目录?如果是项目根目录,为什么models.py 在那里?它应该在应用程序中。
    • 这是 django 应用程序
    • @AKJ 为什么没有init.py
    • 在util文件夹下?有。我的项目比我上面给出的要多得多。但是我的 models.py 是一个文件,所以没有 init.py
    【解决方案2】:

    我按照该用户发布的解决方案设法解决了我的问题:

    Django exception : django.core.exceptions.ImproperlyConfigured:

    如果他的帖子对你有帮助,请点赞!

    【讨论】:

      猜你喜欢
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 2020-12-02
      • 1970-01-01
      • 2020-11-03
      • 2017-02-22
      相关资源
      最近更新 更多