2010-08-02 24 views
2

我知道如何做到這一點:添加自定義JS把Django的形式

class CalendarWidget(forms.TextInput): 
    class Media: 
     js = ('animations.js', 'actions.js') 

但後來我得到的東西,如:「<script type="text/javascript" src="http://media.example.com/animations.js 」>「

我想是這樣的:

<script>callMYFunction(sdf); </script> 

通過做這樣的事情:

class CalendarWidget(forms.TextInput): 
    class Media: 
     js = (callMYFunction(sdf),) 

但我無法得到這個工作..任何想法?

回答

0

您必須手動將其添加到Widget的render方法中。

class CalendarWidget(forms.TextInput): 
    def render(self, name, value, attrs=None): 
     out = super(CalendarWidget,self).render(name, value, attrs=attrs) 
     return out + '<script type="text/javascript">callMyFunction(sdf)</script>' 

    class Media: 
     js = ('animations.js', 'actions.js') # callMyFunction should be defined in one of these