当前位置: 首页 > news >正文

虎门响应式网站建设推广软文发布平台

虎门响应式网站建设,推广软文发布平台,会展设计课程,做电池的有哪些网站Django-extensions是 Django 的扩展应用,给django开发者提供了许多便捷的扩展工具(extensions),它提供了许多有用的工具和命令行工具,帮助 Django 开发者更高效地进行开发和调试。它的作用包括: - 提供了更多的Django命令&#x…

Django-extensions是 Django 的扩展应用,给django开发者提供了许多便捷的扩展工具(extensions),它提供了许多有用的工具和命令行工具,帮助 Django 开发者更高效地进行开发和调试。它的作用包括:

- 提供了更多的Django命令,比如导出数据库、生成数据模型文档、查看URL路由表等;

- 提供了一些有用的Django插件,比如shell_plus插件可以在Shell中自动导入项目的所有模块;

- 提供了一些有用的Django工具,比如graph_models可以将项目的数据模型转换成UML图。

本篇文章介绍它包含哪些有用扩展以及它们的使用场景,django-extensions主要提供了三种扩展:命令扩展,字段扩展和模型扩展。

官方文档:https://django-extensions.readthedocs.io/en/latest/index.html

GitHub:https://github.com/django-extensions/django-extensions

django-extensions安装配置

使用pip安装:pip install django-extensions

加入settings.py中的INSTALLED_APPS

python manage.py help

[auth]

[contenttypes]

[django]

[sessions]

[staticfiles]

此时会多出来一项django_extensions

[django_extensions]

包含以下子命令:

admin_generator、clean_pyc、clear_cache、compile_pyc、create_command、create_jobs、create_template_tags、delete_squashed_migrations、describe_form、drop_test_database、dumpscript、export_emails、find_template、generate_password、generate_secret_key、graph_models、list_model_info、list_signals、mail_debug、managestate、merge_model_instances、notes、pipchecker、print_settings、print_user_for_session、raise_test_exception、reset_db、reset_schema、runjob、runjobs、runprofileserver、runscript、runserver_plus、set_default_site、set_fake_emails、set_fake_passwords、shell_plus、show_template_tags、show_urls、sqlcreate、sqldiff、sqldsn、sync_s3、syncdata、unreferenced_files、update_permissions、validate_templates

在项目中准备以下环境信息

  • 创建超级用户
  • 创建APP:startapp extension_app

命令扩展

  • shell_plus

shell命令的扩展命令,运行Django shell的同时自动加载所有app的models,并选择使用Python shell的版本。

每次进行Django项目调试时,首先需要打开python shell,再重新import每个model。如果安装了django-extensions, 使用python manage.py shell_plus命令将打开一个加强版的django shell,这个shell_plus会自动载入项目中所有的model,可以很方便的开始调试。

  • show_urls

一句话可以展示当前项目所有定义的urls。

  • clear_cache

一句话清除缓存,在测试和开发环境很有用。

  • export_emails

一句话导出所有用户的email地址。

  • pipchecker

检查pip requirements.txt文件中是否有过期的packages,类似于pip list -o,只用于已安装过的packages。

  • admin_generator

只要提供app label,就会自动为输出定义的Admin Class代码,默认输出在stdout。

  • clean_pyc

移除项目中所有的pyc文件。

  • create_command

为一个app生成自定义命令所需要的目录结构。

python manage.py create_command extension_app

  • create_template_tags

为一个app生成template tag所需要的目录结构。

  • compile_pyc

为项目编译python字节码。

  • describe_form

生产一个model的form代码,可以将它拷贝到的文件。

  • delete_squashed_migrations

删除残留的squash migration文件。

  • dmpscript

生产一个python 脚本,用来重新填充数据库。

  • graph_models

将项目的数据模型转换成UML图,创建基于model的GraphViz2文件。

  • mail_debug

开启一个邮件服务器,它会打印邮件内容而不是把它发送出去。

  • merge_model_instances

合并重复的model instance。

  • Notes

展示代码中所有的 TODO, FIXME, BUG, HACK, WARNING, NOTE, XXX 的地方。

  • Passwd

轻松修改用户密码。

  • print_settings

展示所有的,或者指定的django settings。

  • print_user_for_session

通过session来找到user,并且打印。

  • drop_test_database

删除测试数据库。

  • reset_db

使用DROP DATABASE和CREATE DATABASE来重置数据库。

目前支持 sqlite3, mysql, postgres,可以用来删除或创建数据库

  • Runprofileserver

开启一个激活了profile功能的开发服务器。

  • Runscript

在django上下文中运行一个脚本。

  • runserver_plus

标准的runserver加上Werkzeug的debugger工具。

  • set_fake_emails

根据用户的数据,为所有用户设置一个虚构的email。

  • show_template_tags

展示当前项目可用的template tags和template filters。

  • Sqldiff

展示model和数据库是否结构不一样,如果有不一样的地方就展示出来。

  • Sqlcreate

根据配置文件(settings.py)的内容生成创建数据库表的SQL语句。

  • Sqldsn

根据settings.py定义的数据库配置,返回一个可以用于其它程序的数据库URI。

  • sync_s3

将MEDIA_ROOT的文件复制到S3。

  • update_permissions

重载权限。

  • validate_templates

确认template是否有语法错误。

字段扩展

django-extensions提供的最有用的字段扩展:AutoSlugField、RandomCharFieldShortUUIDField

  • AutoSlugField

很多时候需要在url里根据模型某个或多个字段(比如标题,用户名)生成一个独一无二的slug,便于搜索引擎发现内容。AutoSlugField可以很轻松完成这个任务,而且永不重复。比如两篇文章有同样的标题,它会在第2篇文章的slug结尾上加上一个数字。

使用这个字段时先从django-extensions导入,然后指定根据哪些字段生成slug即可。它的强大之处在于它还支持自定义的模型方法和双下划线__关联模型查询。

slug = AutoSlugField(populate_from=['title', 'get_description', 'author__username'])

  • RandomCharField

验证用户身份时经常需要生成一个随机字符串发给用户,有时还需生成随机的邀请码。RandomCharField可以轻松实现这个目的。还可以指定字符串长度和格式。

>>> RandomCharField(length=8, unique=True)                      BVm9GeaE

>>> RandomCharField(length=4, include_alpha=False)                  7097

>>> RandomCharField(length=12, include_punctuation=True)         k[ZS.TR,0LHO

>>> RandomCharField(length=12, lowercase=True, include_digits=False)       pzolbemetmok

  • ShortUUIDField

一个由22个字符组成的字符串,比正常的uuid短了很多。尽管不保证唯一,但重复概率极低。

模型扩展

django-extensions提供的最有用的模型基类扩展:ActivatorModel、TitleDescriptionModel、 TimeStampedModelTitleSlugDescriptionModel。使用时将模型继承这几个基类即可。

  • ActivatorModel

作为基类提供了 status, activate_date,和 deactivate_date 这3个字段。status是一个choice选项,默认是activated。每次当激活或失活一条记录时,日期会自动更新。它还提供了一个自定义Manager方法,允许使用Model.objects.active()查询所有处于活跃状态的对象。

  • TitleDescriptionModel

作为基类提供了title 和 description两个字段。title最长255个字符。

  • TimeStampedModel

作为基类提供了created 和 modified两个字段。这两个字段都是自管理,自动更新的。

  • TitleSlugDescriptionModel

作为基类提供了title , description和 slug三个字段,其中slug根据title自动生成,独一无二。

输入才有输出,吸收才能吐纳。——码字不易

http://www.fp688.cn/news/162559.html

相关文章:

  • 做公司网站有什么需要注意的中山网站建设公司
  • win7如何做网站服务器nba最新交易信息
  • 电子商务网站方案代运营一个月多少钱
  • 木质家居 技术支持 东莞网站建设爱站工具查询
  • php多语言网站怎么做广州疫情今天最新消息
  • 如何做新网站搜索网站哪个好
  • 个人网站 后台管理郑州seo外包服务
  • 网站如何做快排搜索引擎优化名词解释
  • 宁波网站商城建设百度账号怎么改用户名
  • 做网站 挣广告联盟的佣金2020新闻大事件摘抄
  • 做公司网站视频中国免费网站服务器下载
  • 学校做网站方案制作网页
  • 软件开发项目预算表关键词优化骗局
  • 公司做网络宣传哪个网站比较好网站页面seo
  • 品牌营销包括哪些方面洛阳seo外包公司费用
  • 房屋设计图制作软件西安网站seo推广
  • 网站建设怎么办网站收录检测
  • 网站商城怎么做的seo高级教程
  • wordpress布置网站教程微信引流的十个方法
  • 四川党的建设网站百度识图以图搜图
  • 专门做网站的软件是厦门seo优化推广
  • 自己搭建服务器做网站要多久微信引流推广精准粉
  • wordpress 链接框seo软件哪个好
  • asp网站密码永久免费不收费的污染app
  • 莱芜在线话题凤城高中超级推荐的关键词怎么优化
  • 公司企业做网站seo关键词排名系统
  • 类似快手网站开发项目推广渠道有哪些
  • 网上找事做那个网站靠谱自己怎么优化关键词
  • 可以做产品宣传的网站福州模板建站哪家好
  • 贸易公司网站建设要多少钱seo公司排行