management 命令扩展

概要:management扩展命令列表
  • shell_plus - Django shell的加强版. 自动载入所有app的models,可以方便的使用这些ORM.
  • admin_generator - 提供app名字后, 自动生成Admin类. 生成的代码会输出到标准输出中(STDOUT).
  • clean_pyc - 清除项目编译后产生的全部python的二进制文件
  • create_app - 新建一个app的简便方法,可以通过 --template 参数指定一个app作为创建模板 [1].
  • create_command - 在指定app内创建一个命令扩展目录,方便添加新的扩展命令(或者只能手动创建扩展命令的目录).
  • create_template_tags - 在制定的app内创建模板标签目录
  • create_jobs - 在指定app内创建一个定时任务扩展目录,可以定期执行指定任务.
  • clear_cache - 清除缓存, 在测试和部署过程中十分有用.
  • compile_pyc - 编译项目, 并生成python二进制文件.
  • describe_form - 显示针对一个model的form描述.复制输出的内容到forms.py中可以完整定义一个对应model的form.
  • 删除优化后多余的migrations - 删除冗余的migration文件. migrstion文件在合并优化之后遗留下来的冗余文件是没有用的, 直接删除.
  • dumpscript - 生成一个Python脚本.包含指定app的所有数据对象.与Django的 dumpdata 命令不同的是 dumpscript 导出的是Python对象,而不是纯数据.这种导出数据的方式比直接导出数据或XML文件更容易理解,也更灵活.
  • export_emails - 从用户表中导出联系人信息,支持多种导出格式: Address, Google, Outlook, LinkedIn和 VCard.
  • find_template - 根据给定的模板名称, 查找他的文件路径
  • generate_secret_key - 重新生成一个项目密钥, settigns.py 文件中的 SECRET_KEY 配置.
  • graph_models - 生成一个 GraphViz 文件.将输出内容写入一个文件.以图形化数据模型.传入多个app的名字作为参数,可以在一个文件中显示多个模型的图形化格式 [3].
  • mail_debug - 开启一个邮件服务, 将Django项目发出的邮件从控制台输出, 而不是真的发送出去.
  • notes - 显示python文件和HTML文件中的全部重要备注 比如 TODO, FIXME, BUG, HACK, WARNING, NOTE 和 XXX
  • passwd - 重新设定某个用户的密码,用法: ./manage.py passwd [用户名] .
  • pipchecker - 扫描pip依赖文件 [3] 并找出需要更新的包. 类似于 pip list -o 命令安装依赖包的过程(在虚拟环境中 virtualenv), 只不过它是通过pip依赖文件实现的.
  • print_settings - 与 diffsettings 命令功能类似,但会根据参数显示指定的配置,如果不传参数默认显示的全部配置.
  • print_user_for_session - 通过 session key 来查看当前用户信息,这个方法在查找哪个用户行为导致程序异常非常有帮助. 仅在 SESSION_ENGINE 设置为 'django.contrib.sessions.backends.db' (默认值)的时候才能正常工作
  • drop_test_database - 删除测试数据库. 在自动化测试/部署系统(BuildBot, Jenkins, 等等)中十分有用. 确保测试数据库最终会被清除掉.
  • reset_db - 重置数据库 (目前支持 sqlite3, mysql, postgres),可以用来删除或创建数据库.
  • runjob - 执行一个单独的任务,是 django-extensions 任务系统中的一个功能.
  • runjobs - 按计划定期执行任务. 按 小时,天,周,月执行. 时间计划功能是系统任务的一部分.
  • runjobs - 执行计划任务. 分为按小时执行,按天执行,按周执行,按月执行.是 django-extensions 任务系统中的一部分功能.
  • runprofileserver - 在启动 runserver 测试服务的同时,其用 profile 功能,可以记录服务的详细日志,包含了对于Python方法的详细执行分析.在服务器性能分析时,这是最佳方法了.
  • runscript - 在当前项目的环境下执行脚本.
  • runserver_plus - 在Werkzeug debugger模式下开启服务. 需要安装 Werkzeug. 这是个杀手级应用.
  • set_fake_emails - 根据每个用户的名称, 给所有用户生成一个邮箱, 默认格式为(“%(username)s@example.com”). 生成邮箱的可选参数有: username, first_name, last_name. 仅用于测试
  • set_fake_passwords - 将所有用户的密码设置为一个统一值 (默认密码). 一定要在测试环境下使用.
  • show_template_tags - 显示当前项目可用的模板标签和过滤器.
  • show_urls - 统一显示项目中包含的所有url.
  • sqldiff - 显示app的models与数据库中的表的差别.这个功能非常好用,但还处于实验阶段,虽然不能捕获所有异常,但能很好的检查出不同的内容 [4][4]_.
  • sqlcreate - 根据配置文件的内容,生成创建数据库表的SQL语句.
  • sqldsn - 从Django的配置文件中读取数据库连接参数. 可以提供给其它系统使用.
  • sync_s3 - 将settings.MEDIA_ROOT目录中文件复制到S3中.可以通过参数设置否是使用gzip压缩,文件编码,文件的缓存时间等.
  • syncdata - 把fixture(s)中的数据同步到数据库中, 一条不多, 一条不少.
  • unreferenced_files - 输出所有在 MEDIA_ROOT 路径下, 但是数据库中没有引用的文件名称.
  • update_permissions - 根据参数, 重载指定apps的权限. 如果没有参数, 则重载全部apps的权限.
  • validate_templates - 检查模板中可能存在的语法错误和变异错误.
  • set_default_site - 通过 namedomain 或者 system-fqdn`参数来设置默认站点 `django.contrib.sites 的参数.
[1]Django1.6版本也开始支持通过模板创建app, 参考 https://docs.djangoproject.com/en/1.6/ref/django-admin/#startapp-appname-destination
[3](1, 2) 类似MySQL的relationship map, 将models的关系以描述方式输出,虽然是文本描述,但是使用了GraphViz格式,可以打开成图形