问题:
想要在urls.py中导入polls包中的views.py,于是试图使用:from .. import polls。结果在终端调用命令“python manage.py runserver”时报错:
解决:
在网上查找了很久,学习了很多他人的想法(比如https://blog.csdn.net/suiyueruge1314/article/details/102683546以及https://blog.csdn.net/sky453589103/article/details/78863050),大概了解了原因出在最顶层的名字。尝试了很多办法,最后发现在urls.py中添加
import os
import sys
os.chdir(os.path.dirname(__file__))
sys.path.append("..")
然后再
import polls
即可。
疑惑:
本人刚接触Django,对于其内部构造和原理并不了解,由于在终端调用的命令通过manage.py实现,于是对manage.py究竟是如何调用urls.py的、为何urls.py的名字会不包括前几级包名感到疑惑。希望能够在后续的学习过程中加深对此的理解。