問題:
想要在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的名字會不包括前幾級包名感到疑惑。希望能夠在后續的學習過程中加深對此的理解。