博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django实战(3):Django也可以有scaffold
阅读量:7120 次
发布时间:2019-06-28

本文共 1534 字,大约阅读时间需要 5 分钟。

rails有一个无用的”神奇“功能,叫做scaffold。能够在model基础上,自动生成CRUD的界面。

说它无用,是因为rails的开发者David说,scaffold”不是应用程序开发的目的。它只是在我们构建应用程序时提供支持。当你设计出产品的列表该如何工作时,你依赖于“支架”“生成器”产生创建,更新,和删除的行为。然后在保留这个“动作”时你要替换由“生成器”生成的行为。有时候当你需要一个快速接口时,并且你并不在乎界面的丑陋,“支架”就足够用了。不要指望scaffold能满足你程序的所有需要"。

说它神奇,是因为在rails中你不清楚他是怎么实现的。只告诉你一句话:约定优先于配置。只要名字xxx,就会xxx。说得人云里雾里,认为rails真是一个伟大的框架。

在Django的世界中没有这种无用的东西。但是如果你一定要,可以很容易地创建这么一套东西。下面我们就在project中引入一个“插件”。前面说过,,我们要引入的就是一个第三方的app,无需修改,只需要简单配置即可使用。

这个app叫做 。它不实现具体的功能,而是扩展了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:

 

INSTALLED_APPS = (    #'django.contrib.auth',    #'django.contrib.contenttypes',    #'django.contrib.sessions',    #'django.contrib.sites',    #'django.contrib.messages',    #'django.contrib.staticfiles',        # Uncomment the next line to enable the admin:    # 'django.contrib.admin',    # Uncomment the next line to enable admin documentation:    # 'django.contrib.admindocs',     'depot.depotapp',    'django-groundwork',)

 

即完成了安装。(如果遇到了什么麻烦,也可以下载)

 

安装后,使用$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://sxnel.baihongyu.com/

你可能感兴趣的文章
小程序登录及用户信息和手机号的获取
查看>>
[Vue] Computed property "XXX" was assigned to but it has no setter.
查看>>
设计模式系列之「装饰模式」
查看>>
OSI 七层网络协议的定义与理解
查看>>
Less(v3.9.0)使用详解—变量
查看>>
Javascript对象
查看>>
Spring Boot快速注册服务脚本
查看>>
JavaScript嵌套函数this的指向问题
查看>>
Spring Cloud教程 (二)应用程序上下文服务层次结构
查看>>
git commit 规范校验配置和版本发布配置
查看>>
iOS下JS与OC互相调用(四)--JavaScriptCore
查看>>
4. 怎么在生活中提升专注力?
查看>>
http请求/相应及如何在chrome中查看
查看>>
Docker最佳实践:构建最小镜像
查看>>
短视频直播&一对一源码“皇冠”花落谁家
查看>>
MySQL用户的增删改权以及root远程连接
查看>>
img元素srcset属性浅析
查看>>
Laravel 深入核心系列教程
查看>>
前端基础篇之HTTP协议
查看>>
安卓自定义注解支持和示例实现
查看>>