2016-08-05 6 views
1

カスタムウィジェットと+のアップデートを作成します。エラーが発生する私は「SelecTimeWidget」&「SelectDateWidget」 私は(UpdateView)にそれを回すとき、それは私が新しいイベントを作成していたときに正常に動作しますが、</p> <p>を保持しているカスタムウィジェットを作成している

global name 'to_current_timezone' is not defined 

イベントの作成と編集にウィジェットを使用する方法についてはわかりません。

class EventUpdateView(UpdateView): 
    form_class = CreateEvent 
    model = Event 



class EventCreateView(CreateView): 
    form_class = CreateEvent 
    model = Event 

    def form_valid(self, form): 
     Event = form.save(commit=False) 
     Event.created_by = self.request.user 
     Event.save() 
     return HttpResponseRedirect('/calendar/') 



class CreateEvent(forms.ModelForm): 
    class Meta: 
     model = Event 
     fields = ['title', 'start', 'end', 'description', 'category'] 
     widgets = { 

      'start': SelectDateTimeWidget(date_format= '%m/%m/%Y'), 
      'end': SelectDateTimeWidget(date_format= '%d/%m/%Y') 
     } 

ウィジェットは、明らかにSelectTimeWidgetもカスタムですが、エラーは、「値= to_current_timezone(値)」

class SelectDateTimeWidget(forms.MultiWidget): 
    supports_microseconds = False 

    def __init__(self, attrs=None, date_format=None, time_format=None): 
     widgets = (SelectDateWidget(empty_label=("Year", "Month", "Day")), 
        SelectTimeWidget(use_seconds=False)) 
     super(SelectDateTimeWidget, self).__init__(widgets, attrs) 

    def decompress(self, value): 
     if value: 
      value = to_current_timezone(value) 
      return [value.date(), value.time().replace(microsecond=0)] 
     return [None, None] 

    def subwidgets(self, name, value, attrs=None): 
     if self.is_localized: 
      for widget in self.widgets: 
       widget.is_localized = self.is_localized 
     # value is a list of values, each corresponding to a widget 
     # in self.widgets. 
     if not isinstance(value, list): 
      value = self.decompress(value) 
     output = [] 
     final_attrs = self.build_attrs(attrs) 
     id_ = final_attrs.get('id') 
     for i, widget in enumerate(self.widgets): 
      try: 
       widget_value = value[i] 
      except IndexError: 
       widget_value = None 
      if id_: 
       final_attrs = dict(final_attrs, id='%s_%s' % (id_, i)) 
      output.append(widget.render(name + '_%s' % i, widget_value, final_attrs)) 
     return output 

以下のコード内のこの行は、誰もが道を知っていて私をリードしていますこの周り?

答えて

1
"from django.forms.util import to_current_timezone" 

私は、これは、それはいくつかの時間がそれを心配した後、自分の質問に答える:)

愛を働いた後To_current_timezoneは、インポートした実現しなかった

関連する問題

 関連する問題