django为crud操作实现可手持的电子表格。

django-funky-sheets的Python项目详细描述


django为crud操作实现可手持的电子表格。

现场演示

Demo

安装

安装django-funky-sheets

$ pip install django-funky-sheets

funky_sheets添加到已安装的应用程序:

# settings.py

INSTALLED_APPS = [
    ...
    'funky_sheets',
    ...
]

快速启动

网址

定义创建和更新视图的URL。

# urls.pyfromdjango.urlsimportpathfrom.importviewsurlpatterns=[path('',views.index,name='index'),path('create/',views.CreateMovieView.as_view(),name='create'),path('update/',views.UpdateMovieView.as_view(),name='update')]

视图

定义从HotView继承的创建和更新视图,并基于选定的模型字段呈现可手持的电子表格。

# views.pyfromdjango.formsimportCheckboxSelectMultiple,CheckboxInput,DateInputfromdjango.urlsimportreverse_lazyfromfunky_sheets.formsetsimportHotViewfrom.modelsimportMovieclassCreateMovieView(HotView):# Define model to be used by the viewmodel=Movie# Define templatetemplate_name='examples/create.html'# Define prefix for the formset which is constructed from Handsontable spreadsheet on submissionprefix='table'# Define success URLsuccess_url=reverse_lazy('update')# Define fields to be included as columns into the Handsontable spreadsheetfields=('id','title','director','release_date','parents_guide','imdb_rating','genre','imdb_link',)# Define extra formset factory kwargsfactory_kwargs={'widgets':{'release_date':DateInput(attrs={'type':'date'}),'genre':CheckboxSelectMultiple(),'parents_guide':CheckboxInput(),}}# Define Handsontable settings as defined in Handsontable docshot_settings={'contextMenu':'true','autoWrapRow':'true','rowHeaders':'true','contextMenu':'true','search':'true'}classUpdateMovieView(CreateMovieView):template_name='examples/update.html'# Define 'update' actionaction='update'# Define 'update' buttonbutton_text='Update'

模板

定义包含hot_template的模板,以便在其中呈现可手持的电子表格。

examples/create.html

...
{%includehot_template%}
...

examples/update.html

...
{%includehot_template%}
...

贡献

这是一个开源项目,任何贡献都是值得赞赏的。

许可证

这个项目是由麻省理工学院授权的。

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

推荐PyPI第三方库


热门话题
在Java中使用BufferedReader类读取文本文件的子字符串   java如何在JSP页面上包含来自另一台服务器的动态JSP   使用单表策略的java持久化Hibernate继承映射   java报告状态失败达600秒。谋杀!报告hadoop的进展   java将字符串解析为形状   使用JTable的java ClassCastException?   java在Spring引导中关闭数据库   java Android Studio调试错误(Ubuntu)   java如何区分apache beam中KV实例中的两个键?   java将RealmObjectChangeListener添加到异步下载的RealmObject   java匹配模式之前的所有内容,包括新行和/或回车   java使用JAXB在XML中动态更改元素序列   java如何在MACOS中找到动态库(.dylib文件)的版本   Android中的java Nanohttpd服务器   java libGDX:3d动画不工作