rails有一个无用的”神奇“功能,叫做scaffold。能够在model基础上,自动生成CRUD的界面。
说它无用,是因为rails的开发者David说,scaffold”不是应用程序开发的目的。它只是在我们构建应用程序时提供支持。当你设计出产品的列表该如何工作时,你依赖于“支架”“生成器”产生创建,更新,和删除的行为。然后在保留这个“动作”时你要替换由“生成器”生成的行为。有时候当你需要一个快速接口时,并且你并不在乎界面的丑陋,“支架”就足够用了。不要指望scaffold能满足你程序的所有需要"。
说它神奇,是因为在rails中你不清楚他是怎么实现的。只告诉你一句话:约定优先于配置。只要名字xxx,就会xxx。说得人云里雾里,认为rails真是一个伟大的框架。
在Django的世界中没有这种无用的东西。但是如果你一定要,可以很容易地创建这么一套东西。下面我们就在project中引入一个“插件”。前面说过,app可以在多个project之间很容易的复用,我们要引入的就是一个第三方的app,无需修改,只需要简单配置即可使用。
这个app叫做django-groundwork 。它不实现具体的功能,而是扩展了manage.py 的命令,使得通过命令行可以生成一些代码/文件。
下载django-groundwork的代码:
$git clone https://github.com/madhusudancs/django-groundwork.git
$ls django-groundwork
AUTHORS LICENSE README.rst django-groundwork
将其中的django-groundwork文件夹复制到project文件夹,然后在settings.py中加入该app:
即完成了安装。(如果遇到了什么麻烦,也可以下载
本文附带的源代码包)
安装后,使用$python manage.py help可以看到,列出的可用命令中多了一个groundwork。其语法是:
$python manage.py groundwork appname ModelName1 ModelName2
接下来使用这个app为Product生成scaffold:
$python manage.py groundwork depotapp Product,就会生成所谓的scaffold。
此时运行开发服务器(python manage.py runserver),就可以访问下面的地址:
http://localhost:8000/depotapp/product/list/ 访问Product列表,并链接到create,edit,view等界面。
可以下载本次迭代的源代码:http://download.csdn.net/detail/thinkinside/4035662
分享到:
相关推荐
将django-scaffold作为新创建的应用程序包含在settings.py中已安装的应用程序列表中。 INSTALLED_APPS = ( 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django....
关于 django-scaffold 在 Django 中提供通用部分/子部分层次结构的可重用应用程序。 旨在解决一个常见问题:您正在构建一个需要部分和子部分的站点,您不仅需要能够管理该层次结构,而且还需要将其他内容挂在其中...
### Django depotapp 基于django的购物车应用,参照thinkinside的Django专栏教程编写 ###相关信息 windoweclipse开发 django版本1.4.1 python版本2.7.6 djangorestframework版本0.40(这里如有点问题,,请自己...
django-generic-scaffold:为django快速生成CRUD通用视图!
python库。资源全名:django3scaffold-0.9.4.tar.gz
资源分类:Python库 所属语言:Python 资源全名:django3scaffold-0.9.6-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
每个django开发人员都知道使用最新和最好的前端框架为django应用程序设置前端是多么令人烦恼,使用您可以使用一个命令来设置前端支架。 微风 :smiling_face_with_halo: 安装之前 在安装之前,请确保已安装python,...
资源分类:Python库 所属语言:Python 资源全名:django-scaffold-tools-0.0.31.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:django-scaffold-generator-0.0.1a5.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:django-angular-scaffold-0.1.5.tar.gz
Djangae脚手架项目这是配置为使用在App Engine上使用的准系统Django项目开始: 克隆此仓库(别忘了将原点更改为您自己的仓库!) 运行./install_deps (这将提示安装要求,并下载App Engine SDK) 运行./rename_...
为此我又新创建了一个开源项目dj-scaffold(django的脚手架)。这个项目用于自动生成一个标注化的django项目和app。 项目地址:https://github.com/vicalloy/dj-scaffold 安装 已经发布到了pypi,所以你可以用pip或...
功能Docker 12 Factor Server:Nginx前端:Vue + vue-cli + PWA后端:Django数据库:PostgreSQL API:REST或GraphQL可选集成可以在初始项目设置期间启用这些功能。 与MailHog集成以进行本地电子邮件测试与Sentry集成...
遥看Django和RoR都有非常好用的脚手架功能,快速的生成项目骨架,管理项目的依赖,以及一些自动化功能。大大的增强了我们的开发体验。Ok,It's time to build it.请使用**node0.12+**版本Usage:npm install -g iflux...
使用 Django: 需要对 index.html 进行两项更改。 插入 /static/ 到 src 和 href 像这样: <!-- compiled CSS --><% styles.forEach( function ( file ) { %> <link rel="stylesheet" type
python manage.py checksecure --settings=scaffold.settings_live python manage.py runserver install_deps 帮助程序脚本会将依赖项安装到添加到路径中的“sitepackages”文件夹中。 每次运行它时,您的站点包...
#我是法老 我是法老是为以开头的 Django 用户创建的脚手架。 安装: pip install iampharaoh ... pharaohproject: Scaffold created for Django users initiate with Pyramid more comfortably starter: Pyramid sta
django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好。我根据自己的项目组织习惯,发布了一个项目dj-scaffold。 前些天在reddit上为我的项目dj-...