相信做过Asp.net MVC的朋友对在此框架下,根据模型自动生成浏览,编辑,查看,删除的四个页面的脚手架功能记忆尤新,那么我们在用python中的django框架时,有没有此脚手架功能呢,很显然,默认的情况下django并没提供,不过,借助django的app可以很方便移植的特性,有人帮我们做了,就是本文推荐的django-groundwork这个app。
这个app帮我们扩展了manage.py的命令,可以让我们通过此命令生成一些代码及文件。
此app托管在git这个源码管理器中,可以通过此链接来获得。获得后我们应该在项目的setting.py中加入此app。
1 INSTALLED_APPS = ( 2 'django.contrib.auth', 3 'django.contrib.contenttypes', 4 'django.contrib.sessions', 5 'django.contrib.sites', 6 'django.contrib.messages', 7 'django.contrib.staticfiles', 8 'django.contrib.admin', 9 10 'django-groundwork', 11 )
这样就将此app安装在了我们自己的项目中,方便吗?
完成安装后,我们就可以使用
1 python manage.py help
来进行查看,会发现在可用的命令例表中多了一个groundwork,结合我们自己项目中用到的模型就可以方便生成代码及相应的页面。
通过查看生成的东西,我们可以发现,其实就是配置了URLConf及相应的VIEW函数。
打开urls.py文件,查看urlpatterns,
1 from django.conf.urls.defaults import patterns, include, url 2 from depot.views import hello 3 4 urlpatterns = patterns('', 5 url(r'^hello/ hello), 6 ) 7 urlpatterns += patterns ('', 8 (r'^contractapp/', include('contract.urls')), 9 )
可以看到,在末尾添加了contract.urls,那么我们可以查看这里都有些什么呢?
1 rom django.conf.urls.defaults import * 2 from models import * 3 from views import * 4 5 urlpatterns = patterns('', 6 (r'contract/create/$', create_contract), 7 (r'contract/list/$', list_contract ), 8 (r'contract/edit/(?P[^/]+)/$', edit_contract), 9 (r'contract/view/(?P[^/]+)/$', view_contract), 10 )
至此我们已经明了,这个app帮我们所做的事了。