[英]Django views ImportError
我不知道这种逻辑是否正确,我正在尝试以2个不同的视图导入Django视图。 我有一个这样的导入链:
该
a.views import b.views
b.views import c.views
c.views import d.views
和
d.views import b.views
但是当我到达最后一步时,我得到一个ImportError
。
如果我在d.views
中d.views
评论以避免导入b.views
,则它可以工作。
我是Django的新手,有人可以帮助我吗?
如果我在a.views
和d.views
使用语法
from b.views import *
它可以工作,但是代码不是那么可读。
如果我用
from b.views import my_func
它不起作用!
这是django shell的错误:
>>> import maps.views
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/save/sites/myblog/maps/views.py", line 19, in <module>
from places.views import *
File "/Users/save/sites/myblog/places/views.py", line 22, in <module>
from posts.views import *
File "/Users/save/sites/myblog/posts/views.py", line 31, in <module>
from maps.views import render_map_geoloc
ImportError: cannot import name render_map_geoloc
这是因为循环依赖或循环引用。
b depends on c
c depends on d
d depends on b #which depends on c
不知道您使用什么目的。 但是,您确实要对该函数进行显式导入,并且在使用该函数的上方。
查看您得到的错误,可能是因为预期d的某些依赖项来自b,所以如果您from b.views import *
,它将获得该依赖项。 但是,如果您导入特定的视图( my_func
),它将丢失该依赖项。
您可以在SO回答线程上找到更多详细信息-Django应用程序依赖周期
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.