找不到django.views.generic。哪里是通用的。查看文件的所有文件夹

时间:2016-09-26 20:05:26

标签: python django generics

我知道这是一个奇怪的问题,但我不知道该怎么做。我克隆了......它正在起作用。我想找到django.views.generic。我在文本编辑器中搜索了目录,我查看了django.views。但我看不到通用(只有一个名为&#34的文件夹;通用")。我无法理解通用文件的位置。它用于许多导入和扩展类,但我找不到该文件来查看导入函数。我对文件和导入有很好的理解,我会说在这个阶段我只是在noob级别之上。所以我在这里缺少一些东西。为什么我找不到这个文件?如果我从django.core.urlresolvers导入反向,我可以很容易地找到这个但不是  例如:来自django.views.generic import CreateView

哪里通用?

1 个答案:

答案 0 :(得分: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__))中单独使用它,它将为您提供脚本本身的路径。