跳转到主要内容

Django应用程序用于检测循环导入

项目描述

Django detect cyclic

用于检测循环导入的应用程序。使用此应用程序,您可以分析您应用程序的依赖关系

https://github.com/goinnn/django-detect-cyclic/raw/master/examples/example-only-cyclic-exclude.png

需求

安装

在您的settings.py中

INSTALLED_APPS = (

    'django_detect_cyclic',

)

在您的urls.py中

urlpatterns = patterns('',

    (r'^admin/detect_cyclic/', include('django_detect_cyclic.urls')),

)

确保您的urls中有jsi18nurl

js_info_dict = {
    'packages': ('your.app.package',),
}

urlpatterns = patterns('',

    url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),

)

标题

  • 节点是应用程序,或者(如果您使用“显示模块”选项),是应用程序中的模块

  • 一条边表示源节点从目标节点导入

  • 循环的每条边都有相同的背景颜色,标签包含“循环X”

  • 边的标签包含括号内的权重

  • 如果您使用“显示模块”选项,每个节点都将有一个背景颜色。如果两个节点来自同一应用程序,它们将具有相同的背景颜色。

  • 如果边是虚线,则源节点中的每个导入都将在函数或方法的主体中运行时发生

可能的错误

如果您遇到某些问题,以下链接可能对您有所帮助

您可能需要删除pyc文件

find -iname "*.pyc" -exec rm "{}" \;

用法

您有两种方法,可以运行一个命令

python manage.py detect_cyclic
python manage.py detect_cyclic --include-apps="app1,app6,app7,app11" --file-name="my_graph.svg" --exclude-packages="migrations,templatetags" --verbosity=2
python manage.py detect_cyclic --include-apps="app1,app6" --show-modules --file-name="my_graph.svg" --exclude-packages="migrations" --verbosity=2
python manage.py detect_cyclic --include-apps="app1,app6" --only-cyclic --file-name="my_graph.svg" --exclude-packages="migrations" --verbosity=2

或者您可以通过网页访问向导

/admin/detect_cyclic/

示例

要查看更多示例,请点击示例

版本

0.0.9 (2012-09-02)

  • 修复一些错误

  • 将代码适配到pyplete的最新版本。现在可以检测相对导入,例如这样

from models import MyModel # from the same directory of the models.py

还有这样

from .models import MyModel # from the same directory of the models.py

0.0.8 (2012-08-09)

  • 加载了一个模板标签,并且因此出现错误

  • 现在Django 1.4中的js可以正常工作

  • 修复了当您在设置(INSTALLED_APPS)中重复某些应用程序时的错误

  • 修复了当您点击下载图表且格式为svg-js时出现的csr错误

0.0.7 (2012-07-25)

  • 现在jquery.graphviz有一个稳定版本(0.0.1,已在Chrome、FireFox、Safari和IE9上测试)

  • 对js进行详细说明

0.0.6 (2012-07-23)

  • 格式svg-js(beta)。将dracula js更改为jquery.graphviz.js(已在Chrome和FireFox上测试)

0.0.5 (2012-07-13)

  • 将force-colors选项更改为use-colors选项

  • 更改向导的分布

  • 可用性

0.0.4 (2012-07-12)

  • 用于创建图表的向导(/admin/detect_cyclic/)

  • 格式svg-js(alpha)

  • 修复了一些小错误

0.0.3 (2012-07-10)

  • 添加了“scope-global”选项,该选项忽略函数中的导入

  • 现在如果verbosity选项为1,则仅显示错误

  • 现在如果一个节点(具有show-modules)的名称与一个应用程序相同,则节点名称将是app_name.__init__

  • 现在循环边的标签颜色与边的颜色相同

  • 现在当格式不是svg时禁用边和节点的颜色。但如果你使用“强制颜色”选项,则可以启用

  • 优化

  • 新选项“dotted-scope-local”。如果两个节点之间的所有导入都在一个函数中,则边将是虚线

  • 修复了一些小错误

0.0.2 (2012-07-09)

  • 文档和示例

0.0.1 (2012-07-09)

  • 初始版本。

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分发

django-detect-cyclic-0.0.9.tar.gz (75.9 kB 查看散列值)

上传时间

由以下组织支持