2
  1. 我正在使用 python 库“feedparser”阅读 Facebook 更新提要。
  2. 我遍历我的 Django 模板中的条目集合,并显示结果。
  3. 更新后的字段以我不熟悉的某种格式返回一个很大的长字符串。

    2009 年 12 月 1 日星期二 23:55:52 +0000

我怎样才能...

A) 使用 Django 过滤器清除模板上 for 循环中的日期时间。

...或者...

B)在视图中解析日期并格式化更新的日期,本质上是在视图中迭代之前清理条目集合中的日期。

注意:我已经尝试了这两种方法。Django 的日期过滤器无法识别它,我试图解析字符串的 iso8601 库也没有。

有人有这方面的经验吗?谢谢你的帮助!

更新:

在 Django 模板中使用 feedparser 中的 updated_pa​​rsed 值效果不佳。但是这个东西的过滤器的 Django 片段已经存在!**

Django 片段: http: //www.djangosnippets.org/snippets/1595/

4

2 回答 2

4

使用entries[i].updated_parsed而不是entries[i].updated, 并将feedparser为您返回一个已解析的 9 元组。(文档

然后构建一个datetime对象并将其传递给 Django 或自己格式化为字符串。

这里有一个类似的问题。

于 2009-12-28T03:10:59.493 回答
2

这行得通,但不是我最终的解决方案。

这个解决方案迭代了我从 Facebook 返回的提要条目集合。然后我解析日期时间并将更新的属性设置为新的日期时间。(另外,忽略 +0000)

for entry in feed.entries:
        entry.updated = datetime.strptime(entry.updated, "%a, %d %b %Y %H:%M:%S +0000")

条目集合返回到模板,我现在可以使用 Django 的“日期”过滤器来格式化日期。

于 2009-12-28T03:14:18.100 回答