vweb是作为一个官方包发布的:
https://github.com/vlang/v/tree/master/vlib/vweb
vweb的后端数据库,目前只支持Postgrep,还不支持mysql、sqlite
介绍说明:
这是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 := true $vweb.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模板在内的所有内容都在一个二进制文件中。这就是你需要部署的全部内容。