• 注册
  • vweb

    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 := 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模板在内的所有内容都在一个二进制文件中。这就是你需要部署的全部内容。

  • 单栏布局 侧栏位置: