例如,当我添加自定义ModelView时:
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))
我还在适当的DateTime字段上获得了有用的datepicker小部件:
但是自定义视图和表单呢?我试着用同样的方式添加视图,但是继承了BaseView,然后我用DateTimeField从flask-admin创建了新的表单,并试图渲染它:
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'))
但是widget并没有同时出现在from
和to
字段中:
如何在我自己的表单上使用flask-admin datepicker?
发布于 2016-05-26 20:13:45
据我所知,您可以使用jQuery datepicker,也可以使用WTForms one,而不是flask.ext.admin.form
。
管理表单旨在对最终用户隐藏,并且强烈禁止向公共用户公开其API。
还有一个类似的问题here
你可以看到一个关于如何使用WTForms DatePicker的很好的例子。
发布于 2020-01-31 01:59:04
您必须像这样执行import DateTimePickerWidget
:
from flask_admin.form import DateTimePickerWidget
例如,像这样使用它:
start = DateTimeField('Start', widget=DateTimePickerWidget())
发布于 2016-08-24 02:49:28
您的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 %}
这将为您提供使所有小部件(Select2、DatePicker等)工作所需的一切。
https://stackoverflow.com/questions/37460305
复制相似问题