2016-09-26 33 views
1

我知道這是一個奇怪的問題,但我迷失在做什麼。我克隆了pinry ......它工作起來。我試圖找到django.views.generic。我在我的文本編輯器中搜索了目錄,我查看了django.views。但我看不到通用(只有名稱爲「通用」的文件夾)。我無法理解通用文件的位置。它在許多導入中使用並擴展類,但我無法找到該文件以查看導入功能。我對文件和導入有很好的理解,現在我只是說在noob級別之上。那麼,我在這裏失去了些什麼。爲什麼我找不到這個文件?如果我從django.core.urlresolvers導入反向,我可以很容易地找到這個,但不是 例如:從django.views.generic導入CreateView找不到django.views.generic。通用的。看着所有的文件夾中的文件

哪裏是通用?

回答

3

嘗試從Python解釋器運行以下命令:

>>> import django.views.generic 
>>> django.views.generic.__file__ 

這將顯示您的gerneric的位置作爲一個字符串路徑。在我的情況下,輸出是:

'/.../python3.5/site-packages/django/views/generic/__init__.py' 

如果你看看這個__init__.py你不會看到代碼的任何通用*View類。但是,仍然可以從路徑django.views.generic(如果我沒有弄錯,這是因爲*View類是django/views/generic/__init__.py中的__all__列表的一部分)導入了這些類。在CreateView的情況下,它實際上是django/views/generic/edit.py,儘管可以從django.views.generic導入,因爲__init__.py的設置方式。

當您想要找到.py文件的路徑時,這種技術通常很有用。同樣有用:如果您在腳本中使用它(print(__file__)),它會爲您提供腳本本身的路徑。

+0

非常感謝Elethan –

相關問題