动机
使用Django进行开发的时候,会不会感觉开发工具少了一些。比如每次进入python shell调试的时候要重新import每个model。
简介
django-extensions1目前包含的命令扩展有个:
shell_plus: 加强版的Django shell,每次进入为你自动载入项目中所有的model,可以让你很方便的开始调试admin_generator: 只要你提供app label,就会自动为你输出定义的Admin Class代码,默认输出在stdoutclean_pyc: 移除项目中所有的pyc文件create_command: 为一个app生成自定义命令所需要的目录结构。create_template_tags: 为一个app生成template tag所需要的目录结构。clear_cache: 清除缓存,在测试和开发环境很有用compile_pyc: 为项目编译python字节码describe_form: 生产一个model的form代码,你可以将它拷贝到你的文件delete_squashed_migrations: 删除残留的squash migration文件dumpscript: 生产一个python 脚本,用来重新填充数据库export_emails: 为你的用户生成email地址graph_model: 创建基于model的GraphViz2文件.mail_debug: 开启一个邮件服务器,它会打印邮件内容而不是把它发送出去merge_model_instances: 合并重复的model instancenotes: 展示代码中所有的 TODO, FIXME, BUG, HACK, WARNING, NOTE, XXX 的地方passwd: 轻松修改用户密码pipchecker: 检查pip是否有过期的packages,类似于pip list -o,只用于已安装的packagesprint_settings: 展示所有的,或者指定的django settingsprint_user_for_session: 通过session来找到user,并且打印drop_test_database: 删除测试数据库reset_db: 使用DROP DATABASE和CREATE DATABASE来重置数据库runprofileserver: 开启一个激活了profile功能的开发服务器runscript: 在django上下文中运行一个脚本runserver_plus: 标准的runserver加上Werkzeug的debugger工具set_fake_emails: 根据用户的数据,为所有用户设置一个虚构的emailshow_template_tags: 展示当前项目可用的template tags和template filtersshow_urls: 展示当前项目所有定义的urlssqldiff: 展示model和数据库是否结构不一样,如果有不一样的地方就展示出来sqlcreate: 根据你的settings.py定义,为你生成创建数据库的SQL代码sqldsn: 根据settings.py定义的数据库配置,返回一个可以用于其它程序的数据库URIsync_s3: 将MEDIA_ROOT的文件复制到S3update_permissions: 重载权限validate_templates: 确认template是否有语法错误
个人评分
| 类型 | 评分 |
|---|---|
| 实用性 | ⭐️⭐️⭐️⭐️⭐️ |
| 易用性 | ⭐️⭐️⭐️⭐️ |
| 有趣性 | ⭐️⭐️⭐️⭐️ |