python3.5使用flask-moment无法显示时间戳的问题

来源:互联网 发布:linux 反汇编工具 编辑:程序博客网 时间:2024/06/06 14:27

前一天写的时候还好好的,过一天就能不能正常显示了。


经过观察http请求和阅读源码,我找到原因所在:

          flask-moment需要一个js文件,但是该模块并没有自带这个文件,初始化时需要向其他网站发出请求:

  def include_moment(version='2.18.1', local_js=None):        js = ''        if local_js is not None:            js = '<script src="%s"></script>\n' % local_js        elif version is not None:            js_filename = 'moment-with-locales.min.js' \                if StrictVersion(version) >= StrictVersion('2.8.0') \                else 'moment-with-langs.min.js'            js = '<script src="//cdnjs.cloudflare.com/ajax/libs/' \                 'moment.js/%s/%s"></script>\n' % (version, js_filename)

以上是截取flask-moment.py的一段代码,可以观察到include_moment()的第二个参数是本地js的地址,一般我们在模板中导入的时候都不填这个参数。于是这个函数就会像该网站发出请求,获取js文件:
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js
现在我们下载这个文件,放到static/js文件夹中,在base.html模板中这样导入:

{{moment.include_moment(local_js=url_for('static',filename='js/moment-with-locales.min.js')) }}

这样我们就不需要每次都访问这个网址了。

不要忘了选择中文版:

{{moment.lang('zh-CN')}}

(顺便一提,我也弄明白为什么时间戳突然就不能显示了:因为之前是开了热点连着网,所以一切正常;后来没有联网,于是无法从指定网页获得文件。。晕)

原创粉丝点击