是否可以在 Widget 中的 __init__ 中添加媒体?
我需要找到页面的语言并将其传递给小部件,但处理请求的中间件似乎在媒体初始化后起作用。
所以,基本上我有:
class SimpleMiddleware():
# some code for getting language...
class MyWidget(Widget):
class Media:
js = (
'//some source&language='+translation.get_language(),
)
translation.get_language 给出了错误的语言,因为中间件没有在媒体之前执行代码。
请您参考如下方法:
您需要set media as a dynamic property :
class MyWidget(Widget):
def _media(self):
return forms.Media(js=(
'//some source&language='+translation.get_language(),
))
media = property(_media)
