如何用Yesod Template语言显示当前时间?

时间:2017-02-28 16:55:43

标签: haskell yesod

IO can not be used inside Yesod Template开始,如何在页面上显示简单的当前时间?

在我的.hamlet文件中,类似于:

<h2>
 #{show $ getCurrentTime } 

getCurrentTime :: IO UTCTime

1 个答案:

答案 0 :(得分:4)

  

换句话说,您需要在模板外部运行IO操作。

外面的 表示模板的处理程序。所以我会这样写。

-- Home.hs
getHomeR = do
  time <- liftIO getCurrentTime
  defaultLayout $(widgetFile "homepage")

-- homepage.hamlet
<h2>#{show time}