Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

formcurd 增删改查

formcurd




formcurd 是一个帮助 Django 项目实现快速增删改查的组件。集成了组合搜索,关键字搜索,快速排序,批量操作、分页等功能,同时预留了大量钩子函数使定制化开发更加快速。再也不用担心处理各类表格的场景。

如何快速用到你的 Django 项目中


第1步: formcurd 注册到你的 Django 项目中

settings.py

'formcurd.apps.FormcurdConfig',


第2步: formcurd 加到项目路由中

urls.py

from formcurd.service.formcurd import site

urlpatterns = [
    # path('admin/', admin.site.urls),

    url(r'^formcurd/', site.urls),

]


第3步: 准备好 app 视图

views/Uatfzenv.py

# _*_ encoding=utf-8 _*_

__author__ = 'weizhen'

from django.shortcuts import render, HttpResponse, redirect
from formcurd.service.v1 import FormcurdHandler

from release.models import UatFzenv as JobModel

class UatFzenvHandler(FormcurdHandler):
    list_display = ['app_name','svn_num',jira_url,display_action]
    
    search_list = ['app_name__contains',]

    search_group = [
        Option(field='job_template'),
    ]


第4步: app 中注册 formcurd 组件

app/formcurd.py

# _*_ encoding=utf-8 _*_

__author__ = 'weizhen'

from formcurd.service.v1 import site
from formcurd.service.v1 import FormcurdHandler
from release.views import Uatfzenv

site.register(models.UatFzenv, Uatfzenv.UatFzenvHandler)

案例分享


请参考本人另外一个项目 ScheduOps

Demo 截图

image.png
image.png
image.png

相关知识点

  • inclusion_tag
  • yield
  • urlencode
  • _meta.model_name
  • _meta.app_label
  • functools
  • wraps
  • request
  • mark_safe
  • order_by
  • autodiscover_module
  • Q查询
  • xss攻击
  • 深浅拷贝
  • 生成器
  • 装饰器
  • ModelForm组件
  • 偏函数,partial
  • 反射 getattr(row,'name')
  • 分页(保留原搜索条件)
  • 钩子函数的思路:预留可扩展位置
  • 单例模式:对象共用一堆数据的时候
  • 路由分发的名称空间,别名反向解析
  • QueryDict对象默认不可改 _mutable=True
  • 反向生成URL:reverse('namespace:xxx')
  • 面向对象的继承深入

Author: 卫振 (weizhen)  -- 最近一直在用阿里的语雀,当图床还挺快 ^_-

About

formcurd 是一个帮助 Django 项目实现快速增删改查的组件。集成了组合搜索,关键字搜索,快速排序,批量操作、分页等功能,同时预留了大量钩子函数使定制化开发更加快速。

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages