将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_
。(二)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_