django中根据模型生成页面的脚手架app-groundwork

时间:2023-03-09 15:22:46
django中根据模型生成页面的脚手架app-groundwork

相信做过Asp.net MVC的朋友对在此框架下,根据模型自动生成浏览,编辑,查看,删除的四个页面的脚手架功能记忆尤新,那么我们在用python中的django框架时,有没有此脚手架功能呢,很显然,默认的情况下django并没提供,不过,借助django的app可以很方便移植的特性,有人帮我们做了,就是本文推荐的django-groundwork这个app。

这个app帮我们扩展了manage.py的命令,可以让我们通过此命令生成一些代码及文件。

此app托管在git这个源码管理器中,可以通过此链接来获得。获得后我们应该在项目的setting.py中加入此app。

 INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin', 'django-groundwork',
)

这样就将此app安装在了我们自己的项目中,方便吗?

完成安装后,我们就可以使用

 python manage.py help 

来进行查看,会发现在可用的命令例表中多了一个groundwork,结合我们自己项目中用到的模型就可以方便生成代码及相应的页面。

通过查看生成的东西,我们可以发现,其实就是配置了URLConf及相应的VIEW函数。

打开urls.py文件,查看urlpatterns,

 from django.conf.urls.defaults import patterns, include, url
from depot.views import hello urlpatterns = patterns('',
url(r'^hello/ hello),
)
urlpatterns += patterns ('',
(r'^contractapp/', include('contract.urls')),
)

可以看到,在末尾添加了contract.urls,那么我们可以查看这里都有些什么呢?

 rom django.conf.urls.defaults import *
from models import *
from views import * urlpatterns = patterns('',
(r'contract/create/$', create_contract),
(r'contract/list/$', list_contract ),
(r'contract/edit/(?P[^/]+)/$', edit_contract),
(r'contract/view/(?P[^/]+)/$', view_contract),
)

至此我们已经明了,这个app帮我们所做的事了。