Flask 数据选择器本地化

Flask 数据选择器本地化,flask,datepicker,localization,Flask,Datepicker,Localization,1。问题 这是我的flask管理表单中的datepicker,所有月和周的名称都是英文的,但是我想自定义名称以及开始周的编号。像这个问题:。我搜索了很多,但我得到的只是如何在flask中自定义日期格式 2。我的代码 class Receipt(db.Model): delivery_time = db.Column(db.Date,index=True) 这是一个日期列,可以在管理员窗体中查看和编辑 有没有办法配置月、周名称?以及如何将开始周编号设置为周一而不是周六,非常感谢。我找到

1。问题

这是我的flask管理表单中的datepicker,所有月和周的名称都是英文的,但是我想自定义名称以及开始周的编号。像这个问题:。我搜索了很多,但我得到的只是如何在flask中自定义日期格式

2。我的代码

class Receipt(db.Model):
    delivery_time = db.Column(db.Date,index=True)
这是一个日期列,可以在管理员窗体中查看和编辑


有没有办法配置月、周名称?以及如何将开始周编号设置为周一而不是周六,非常感谢。

我找到了一种快速解决此问题的方法,但我知道有更好的方法。只需将路径lib/python2.7/site-packages/flask_admin/static/vendor/daterangepicker.js中的代码修改为以下内容:

 this.locale = {
            applyLabel: 'Apply',
            cancelLabel: 'Cancel',
            fromLabel: 'From',
            toLabel: 'To',
            weekLabel: 'W',
            customRangeLabel: 'Custom Range',
            // daysOfWeek: moment.weekdaysMin(),
            daysOfWeek: ["日","一","二","三","四","五","六"],
            // monthNames: moment.monthsShort(),
            monthNames: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",],
            // firstDay: moment.localeData()._week.dow
            firstDay: 1
        };

您可以通过添加以下内容在模板中全局更改语言环境:

<script>moment.locale(#YOURLOCALESTRING);</script>
moment.locale(#yourloclocalestring);

这将保证在此脚本之后加载的任何其他使用矩的脚本都将使用全局语言环境设置。您可以找到有关设置区域设置的更多详细信息。

该代码不是一个好的解决方案,但它可能会有所帮助:

 {% block tail_js %}
  {{ super() }}
  <script>
    $(document).ready(function () {
      var el = $('#your_element_id'); // change this selector
      el.daterangepicker({
        timePicker: true,
        showDropdowns: true,
        timePickerIncrement: 1,
        timePicker12Hour: false,
        separator: ' to ',
        format: el.attr('data-date-format'),
        locale: {
            format: "MM/DD/YYYY",
            separator: " - ",
            applyLabel: "Выбрать",
            cancelLabel: "Закрыть",
            fromLabel: "От",
            toLabel: "До",
            customRangeLabel: "Custom",
            weekLabel: "W",
            daysOfWeek: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
            monthNames: [ "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Октябрь", "Сентябрь", "Ноябрь", "Декабрь"],
            firstDay: 1
        },
      });
    });
  </script>
{% endblock %}
{%block tail_js%}
{{super()}}
$(文档).ready(函数(){
var el=$('#您的_元素_id');//更改此选择器
日期选择器({
时间选择器:是的,
决战:没错,
时间选择器增量:1,
时间选择器12小时:false,
分隔符:'到',
格式:el.attr('data-date-format'),
区域设置:{
格式:“MM/DD/YYYY”,
分隔符:“-”,
applyLabel:“bщааааа”,
取消标签:“аацаац”,
fromLabel:“öτ”,
托拉贝尔:“ааа”,
customRangeLabel:“自定义”,
weekLabel:“W”,
每周工作日:[“С”、“Пб”、“Сб”、“Чб”、“Пб”、“Сб”],
月名:[“Яааааа”、“Фааа”、“Маа”、“Ааа”、“Сббб”、“Сбббб”、“Баабаб”],
第一天:1
},
});
});
{%endblock%}
附言。
需要将此代码添加到master.html

我找到daterangepicker的配置,但如何在flask中配置它?我不是js方面的专家,但我想我们可以在monment.js中更改区域设置,但我现在找不到。为了实现这一点,您必须包含相应的即时区域设置文件(请参阅)并重写flask admin
master.html
模板以包含它们,然后使用
矩.locale('locale\u code')
启用所需的区域设置(请参阅)。