2013-12-08 106 views
0

所以,我想使用稱爲datepicker的JS庫作爲我的日期字段在窗體中的模板。django由datepicker自定義date_field小部件

我的自定義widget`s代碼只是渲染一個模板:

class MyDateWidget(SelectDateWidget): 

    def render(self, name, value, attrs=None): 
     template = loader.get_template('date_widget.html') 
     return template.render(Context({})) 

date_widget.html包含以下

<div class="input-append date" id="dp-input1" data-date-format="dd-mm-yyyy"> 
    <input class="span12" size="16" type="text" value="12-02-2012" readonly=""> 
    <span class="add-on"><i class="icon-calendar" onclick="$('#dp-input1').datepicker();"></i></span> 
</div> 

這個網站是種好了,我可以看到漂亮的彈出datepicker菜單,但由於某種原因,request.POST(此表單帖子,是)不包含選擇的日期。其他字段顯示在POST數據中。

顯然,我的小部件未嘗試一些重要的「後端」邏輯。

+3

請求將不會拿起價值,因爲沒有按輸入'name'屬性.. – mariodev

+0

接縫正確,稍後再檢查,thnx無論如何 –

+0

這是正確的,再次thanx) –

回答

0

儘管這個問題很老了,我想你一定name屬性添加到輸入標籤:

class MyDateWidget(SelectDateWidget): 

def render(self, name, value, attrs=None): 
    template = loader.get_template('date_widget.html') 
    return template.render(Context({'name': name})) 

和:

<div class="input-append date" id="dp-input1" data-date-format="dd-mm-yyyy"> 
    <input class="span12" size="16" type="text" name="{{ name }}" value="12-02-2012" readonly=""> 
    <span class="add-on"><i class="icon-calendar" onclick="$('#dp-input1').datepicker();"></i></span> 
</div>