3

我有一份新工作和一个巨大的 django 项目(15 个应用程序,超过 30 个位置)。从头开始很难理解它的架构。一开始有什么技巧可以简化我的工作吗?有时甚至很难理解在哪里可以找到我需要的表单或视图......提前。

4

5 回答 5

4

当我遇到这种问题时,我打开一个笔记本并回答以下问题:

1. 基础设施

  • 服务器配置、操作系统等
  • 查看数据库类型(mysql、postgres、nosql)
  • 外部 APIS(例如 Facebook Connect)

2.后端

  • 写一个简单的描述
  • 写出用户的输入/输出(尽量彻底;哪些字段是必需的,哪些不是)
  • 写下它的 FK 以及它与任何其他应用程序的关系(以及为什么)
  • 列出应用程序正在使用的每个插件。以及为了什么目的。例如在rails中我会写:'gem will_paginate - 在几个页面上显示留言簿应用程序结果'

3.前端

  • 查看 JS 框架
  • 检查主要样式表文件(用于模板)
  • 用于创建基于模板的新页面的主要 html/haml (etc) 文件。

当你这样做了。我认为您已经做好了充分的准备,并且能够更深入地开发/调试应用程序。祝你好运。

于 2013-01-11T08:01:55.610 回答
3

使用这个http://packages.python.org/django-extensions/graph_models.html

从模型生成关系图,以便您可以直观地看到模型是如何相互关联的。这将为您提供有关该应用程序的好主意

于 2013-01-11T08:26:50.177 回答
2

1) 尝试从头开始安装网站。您会发现网站运行需要哪些外部应用程序。

2) 逆向工程。浏览该站点并尝试找出您必须执行哪些操作才能更改该页面的内容。从 url 开始,在 urls.py 中查找,阅读视图,检查模型。是否有其他流程的提示?

3)试着写下你不明白的一切,并记录答案以备将来参考。

于 2013-01-11T08:08:46.237 回答
2

我会克隆这个项目,这样你就可以无休止地搞砸了。

然后我会开始减少代码。“如果只是在这里删除这个功能会发生什么?

还可以得到 django 调试工具栏:

https://github.com/django-debug-toolbar/django-debug-toolbar

一个好的终端调试器也很重要,有很多,这里有一个例子:

https://github.com/tomchristie/django-pdb

这允许您停止代码,甚至在运行时注入和改变参数。就像 C 语言中的 GDB 一样。

于 2013-01-11T08:12:44.207 回答
-1

如果您使用 FireFox,则可以在其上安装 FireBug,例如,当您提交 ajax 表单时,您可以看到在哪个 url 向您发送请求,之后您可以轻松找到使用此表单数据的控制器。在 chrome 中,该实用程序默认嵌入并通过 F12 键调用。

于 2013-01-11T07:40:14.500 回答