vweb是作为一个官方包发布的:
https://github.com/vlang/v/tree/master/vlib/vweb
vweb的后端数据库,目前只支持Post
介绍说明:
这是pre-alpha软件。
在V和vweb中,很多东西还没有实现。
目前还没有文档, 这里有一个v form
https://github.com/vlang/vtalk
了解一个简单的vweb应用程序示例。
vtalk.v包含所有GET和POST操作。
pub fn (app mut App) index() {
posts := app.find_all_posts()
vweb.html()
}
// TODO ['/post/:id/:title']
// TODO `fn (app App) post(id int)`
pub fn (app App) post() { id := app.get_post_id() post := app.retrieve_post(id) or {
app.vweb.redirect('/') return } comments := app.find_comments(id) show_form := truevweb.html()
}
index.html是V模板语言的示例:
@for post in posts
<div class=post>
<a class=topic href="@post.url">@post.title</a>
<img class=comment-img>
<span class=nr-comments>@post.nr_comments</span>
<span class=time>@post.time</span>
</div>
@end
$vweb.html() 在编译期间将HTML模板编译为V,并将生成的代码嵌入到当前操作中。这意味着模板可以自动访问该动作的整个环境。
部署vweb应用程序
包括HTML模板在内的所有内容都在一个二进制文件中。这就是你需要部署的全部内容。