将django fsm状态转换集成到django管理中

django-fsm-admin的Python项目详细描述


……_ quickcast:http://quick.as/aq8fogo
。(二)BR/>>BR/> >混合标签和模板标签,将Django-FSMY
状态转换纳入Django管理。< BR> > BR/>安装< BR/> -<-BR/>::BR/> BP/> PIP安装JDangang-FSM:HTTPS://GITHUB.COM/KMMBVNR/DjangoFS
BR/>django fsm admin

或来自github:

::


$pip install-e git://github.com/gadventures/django fsm admin.git egg=django fsm admin

用法
----
1。将“fsm\u admin”添加到已安装的应用程序

2。确保在django设置中的模板上下文处理器中有“django.core.context\u processors.request”。如果尚未定义模板上下文处理器,请从django.conf中添加

导入全局设置

在您的`admin .p``文件中,使用“FSMTransitionMixin”将行为添加到您的模型管理员。顺序是很重要的。< BR/> > BR/>它假定您的工作流状态字段被命名为“状态”,但是您可以重写它“BR/>”,或者添加属性“fSMiField:

::
< BR/>从FSMAdMad.MIXIN导入FSMTPrimestMIXIN
BR/>类YouMeadAdmin(FSM-TurnSurvivIn,管理员MadMadmin):
#要转换的模型上一个或多个fsm field的名称
fsm_field=['wf_state',]


admin.site.register(yourmodel,yourmodeladmin)

4。通过将“custom=dict(admin=false)”添加到transition decorator,可以禁止在管理界面中显示转换
。如果转换方法接受不带默认值的
参数,这一点特别有用,因为在**django fsm admin**中,不能向
转换方法传递任何参数。




@transition(field='state',source=['startstate',target='finalstate',custom=dict(admin=false))
def do_something(self,一些参数:
不会向管理模型界面添加按钮“do something”(执行操作)

通过在配置设置中添加“fsm\u admin\u force\u permit=true”,上述限制将成为默认设置。然后,必须明确允许在
管理界面中显示转换方法。




@transition(field='state',source=['startstate',target='finalstate',,custom=dict(admin=true))
def proceed(self):
将向管理模型界面添加一个按钮“proceed”


这很有用,如果大多数状态转换是通过其他方式处理的,例如外部
与应用程序的API通信的事件。



开发
$cd example
$python manage.py syncdb
$python manage.py runserver

demo
---
观看django fsm管理示例的快速广播。图片::http://i.imgur.com/ijue9sr.png
:宽度:728px
:高度:346px
:目标:QuickCast_

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

推荐PyPI第三方库


热门话题
java 安卓 XMLPullParser错误   Java响应网格布局   Java中使用递归的不同方法   java变量可能尚未初始化(边加权图)   java如何将这样的文件插入MySQL数据库   java云端点:不允许实体类型的数组或集合   java(编译器或jvm)是否以不同方式处理类的静态最终成员?如果是,怎么做   java如何从lambda表达式返回新的非抽象映射?   java JDK 7支持的最大Spring版本是什么   我们如何从java类生成DTD   java在我的例子中BindingResult、FieldErrors或GlobalErrors是否可以为null?   java[LibGDX][GWT]读取文件外观时出错。HTML格式的json[序列化异常]   字典Java不可修改密钥集映射   java Admob在firebase sdk之后显示测试广告,但不显示真实广告