使用yaml定义模型和字段,并使用视图、表单、模板等为django生成应用程序。

django_make_app的Python项目详细描述


PyPiMITTravisCICoverageRequirements Status

简介

django make应用程序将从一个简单的yaml模式生成django应用程序的代码。这类似于manage.py startapp,但功能非常强大。

这将根据模型定义生成:

  • 管理类和管理表单
  • django rest framework视图集、序列化器和路由器配置
  • django appconfig
  • Django系统检查
  • 窗体类
  • 模型类
  • 详细信息/删除/更新/创建/列出视图、URL和模板
  • 管理命令示例
  • 虚拟过滤器
  • 信号和接收器文件
  • TOdo测试

安装

支持的python版本有:2.73.43.53.6pypypypy3

pip install --upgrade django-make-app

由于yapf不兼容,不支持python3.3(请参阅:https://github.com/google/yapf#python-versions)。如果你在python上 3.3,可以将此包与选项django-make-app generate ... --no-optimize一起使用(这将跳过yapf)。

用法

如果要生成名为library的应用程序,请在项目根目录中创建文件app_schema.yaml,并定义模型:

apps:-name:library# all files will be generated into library/ directory (will be created)models:-User:# model name-name:char# model field "name" of type "char"-email:char# model field "email" of type "char"-Book:# another model-library:fk# model field "library" of type "foreign key" to "library"-Article# empty model without fields-name:my_another_awesome_appmodels:-City-Country

您还可以通过执行(或检查templates/example.yaml)来打印示例配置:

django-make-app write_config > app_schema.yaml

最后,要生成应用程序的源代码,请执行:

django-make-app generate library

将生成此结构:

LIBRARY
|   admin.py
|   api.py
|   apps.py
|   checks.py
|   forms.py
|   models.py
|   receivers.py
|   serializers.py
|   signals.py
|   urls.py
|   views.py
|   __init__.py
|
|---management
|   |   __init__.py
|   |
|   \---commands
|           library_command.py
|           __init__.py
|
|---migrations
|       __init__.py
|
|---templates
|   \---web
|           book_delete.html
|           book_detail.html
|           book_form.html
|           book_list.html
|           article_delete.html
|           article_detail.html
|           article_form.html
|           article_list.html
|           user_delete.html
|           user_detail.html
|           user_form.html
|           user_list.html
|
|---templatetags
|       web_tags.py
|       __init__.py
|
\---tests
        factories.py
        test_book.py
        test_article.py
        test_user.py
        __init__.py

许可证

麻省理工学院许可证(MIT)

版权所有(c)2016–2017 Va_ek Dohnal

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任,无论是在合同诉讼中, 侵权行为或其他,由 软件或软件中的使用或其他交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener