2016-05-26 32 views
0

例如,當我添加自定義模型視圖:如何在自定義表單域上激活日期選擇器小部件?

class TaskModelView(ModelView): 
    pass 


flaskadmin = Admin(name='Flasky', template_mode='bootstrap3', index_view=MyAdminIndexView(), 
        base_template='admin/mymaster.html') 

flaskadmin.add_views(TaskModelView(models.Task, db.session)) 

我也得到適當的日期時間字段有用的日期選擇控件: enter image description here

但是對於自定義視圖和形式?我嘗試添加視圖方式一樣,但繼承了它的基本視角,然後我從燒瓶管理員創建的新形式DateTimeField字段,並試圖使其:

from flask.ext.admin.form import DateTimeField, DatePickerWidget, DateTimePickerWidget 


class AssebledChartForm(Form): 
    date_from = DateTimeField('From', format='%d.%m.%Y', widget=DateTimePickerWidget()) 
    date_to = DateTimeField('To') 


class AnalyticsView(BaseView): 
<...> 
    return self.render('admin/analytic.html', form=form) 

flaskadmin.add_view(AnalyticsView(name='Analytics', endpoint='analytics')) 

但控件沒有對fromto領域出現兩種: enter image description here

如何在我自己的窗體上使用flask-admin datepicker?

回答

0

據我記得,你可以使用jQuery datepicker這個,或WTForms之一,而不是flask.ext.admin.form

管理員表單旨在對最終用戶隱藏,並強烈禁止將其API暴露給公共用戶。

也有類似的問題here

你可以看到如何使用WTForms DatePicker的一個很好的例子。

+0

admin.form只是提供了一些用於創建管理界面的字段,而DateTimeField就是其中之一。它也從WTForms DateTimeField繼承以使用Flask-admin DataTimeWidget。我正在尋找的是如何讓它工作。 – aryndin

0

您的admin/analytic.html未加載處理客戶端選擇日期的JavaScript。將以下內容添加到您的模板中;

{% block tail_js %} 
    <script src="/static/vendor/jquery.min.js" type="text/javascript">/script> 
    {# use /static/bootstrap2/js/bootstrap.min.js if you are using bootstrap2 #} 
    <script src="/static/bootstrap3/js/bootstrap.min.js" type="text/javascript"></script> 
    <script src="/static/vendor/moment.min.js" type="text/javascript"></script> 
    <script src="/static/vendor/select2/select2.min.js" type="text/javascript"></script> 
{% endblock %} 

這應該會給你一切你需要使所有的部件工作(選擇2,DatePicker等)。

相關問題