目錄:
  1. 前言
    1. 步骤分析

      Django的执行流程

      閱讀時間:全文 196 字,預估用時 1 分鐘
      創作日期:2017-05-22
      文章標籤:
       
      BEGIN

      前言

      当在django项目根目录下执行python manage.py xxx xxxx后执行步骤是什么呢?

      步骤分析

      第一步:程序进入manage.py执行到第十行,调用入口函数:execute_from_command_line,传入manage.py后面跟着的参数。

      manage.py(10)<module>
      execute_from_command_line(sys.argv)

      第二步:通过第一步调用execute_from_command_line函数进入lib/python2.7/site-packages/django/core/management/__init__.py,并在363行执行utility.execute()

      lib/python2.7/site-packages/django/core/management/__init__.py(363)execute_from_command_line()
      utility.execute()

      第三步:此时已执行完程序执行前的初始化工作,如果355行的run_from_argv进入调用django项目的核心入口。

      lib/python2.7/site-packages/django/core/management/__init__.py(355)execute()
      self.fetch_command(subcommand).run_from_argv(self.argv)

      第四步:合成命令,完成项目主体功能模块的引入。

      lib/python2.7/site-packages/django/core/management/base.py(283)run_from_argv()
      self.execute(*args, **cmd_options)
      lib/python2.7/site-packages/django/core/management/base.py(330)execute()
      output = self.handle(*args, **options)

      第六步:执行合成的命令,此时会进入项目配置好的任务目录找到命令执行需要的文件,执行文件。

      crawlerapp/management/commands/crawler_base_command.py(52)handle()
      eval(cmd)
      FINISH

      隨機文章
      人生倒計時
      default