2016-05-26 26 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等)。

相关问题