V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
getlost
V2EX  ›  Django

求助,学习 Django 其间,找不到源文件(源码)在哪

  •  
  •   getlost · 2019-08-21 23:12:57 +08:00 · 4119 次点击
    这是一个创建于 1938 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正利用业余时间学习 Django,看到 import 的模块(包),就想去看看源码是什么样的,结果发现部分源码文件找不着在哪,比如下面这个

    from django.db.models import Sum
    

    我去了 mysite_env\Lib\site-packages\django\db\models 路径下找,但是没有相应的文件,这是为什么

    11 条回复    2019-08-22 22:04:39 +08:00
    lxy42
        1
    lxy42  
       2019-08-21 23:26:54 +08:00
    建议你了解一下 Python 中包( package )和模块( module )的概念。
    django.db.models 是一个包,Sum 的定义在 models 目录下的 aggregates.py 中。
    Yourshell
        2
    Yourshell  
       2019-08-21 23:30:19 +08:00
    使用 IDE 或编辑器不是有定位吗。
    youngce
        3
    youngce  
       2019-08-21 23:45:11 +08:00
    目前除了少数几个变态的框架( Twisted ),pycharm 上用 ctrl+鼠标左键大多都还是能跳转到源码的
    guokeke
        4
    guokeke  
       2019-08-22 06:27:24 +08:00
    可以直接去 github 上看啊, 方便的一*
    IanPeverell
        5
    IanPeverell  
       2019-08-22 10:26:18 +08:00
    先去看看 __init__.py 的相关文档吧,很多引用会直接会在这个文件里汇总一次,这样避免了 models 下的每个文件都需要单独 import 的麻烦
    julyclyde
        6
    julyclyde  
       2019-08-22 16:52:09 +08:00
    import django
    help(django)
    然后你就看到了
    getlost
        7
    getlost  
    OP
       2019-08-22 22:01:14 +08:00
    @lxy42 嗯,谢谢,自己工作之余瞎玩,好多需要补
    getlost
        8
    getlost  
    OP
       2019-08-22 22:01:49 +08:00
    @Yourshell 之间一直没注意,我刚才去看,真的有提示,Thanks♪(・ω・)ノ
    getlost
        9
    getlost  
    OP
       2019-08-22 22:02:51 +08:00
    @guokeke 还不太会用那个,争取多学习以下
    getlost
        10
    getlost  
    OP
       2019-08-22 22:04:05 +08:00
    @IanPeverell 对,直接在里面,初始化就已经引用了,之前一直不明白是这样
    getlost
        11
    getlost  
    OP
       2019-08-22 22:04:39 +08:00
    @julyclyde 会出现目录下的各个包
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:45 · PVG 20:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.