Go Revel - app.conf】的更多相关文章

##概览 `app.conf`为应用程序的配置文件,它使用`goconfig`的语法,与windows的ini文件类似. 示例: app.name=chat app.secret=pJLzyoiDe17L36mytqC912j81PfTiolHm1veQK6Grn1En3YFdB5lvEHVTwFEaWvj http.addr= http.port=9000 [dev] results.pretty=true watch=true log.trace.output = off log.info.…
由于revel框架本身对于model层的编写没有提供任何指导,所以在设计这部分的时候就有些犹豫,反复斟酌到底怎样才算是最佳实践. 我在做山坡网的时候刚开始也纠结了一下,拿不准mongodb的session的创建和销毁应该在什么地方处理.直到有一天看到了revmgo的作者在与revel的作者讨论(具体内容在这里),就去研究了下revmgo,之后立即就用它替换了我自己的实现. 先说下用法吧. 1. 在app.conf添加mongodb的连接字符串. revmgo.dial = mongodb://u…
用户注册.登录和注销是任何一个网站都必然会有的功能,可以说,这是重新造轮子做多的领域,每个做网站的人应该都做过很多遍.见微知著,从这么一个小功能其实就可以看到所使用的web框架中的大部分东西. 今天就让我们用这个基本模块来看看revel吧. 先整理一下我们选用的技术框架和组件: web框架:revel 数据库:mongodb 数据库driver:mgo 工欲善其事,必先利其器,这里着重推荐一个mongodb的GUI客户端 - mongovue,可以说,如果没有这个工具,在开发的过程中我们会痛苦许…
beego 从 1.3 后开始支持自动化API文档,不过,目测比较复杂,一直期望 revel 能有官方支持. revel 确实已经有了官方支持的计划,有可能将在 0.14 版本支持,现在才 0.11.1 版本,只好自己手工撸一个出来,半自动化,但能满足基本需求了. 1. 准备 1.1 swagger-ui swagger 是一个开源项目,swagger-ui 将符合 swagger 定义的描述规则的 Json 数据以网页形式呈现. swagger 有在线的实例可以直接看到 swagger-ui…
revel提供了4种日志记录器: 1.`TRACE` - 调试信息 2.`INFO` - 信息 3.`WARN` - 一些无害的异常信息 4.`ERROR` - 必须要关注的错误 日志记录器可以在`app.conf`中配置: app.name = sampleapp [dev] log.trace.output = stdout log.info.output = stdout log.warn.output = stderr log.error.output = stderr log.trac…
revel提供了一个框架用于脱离请求流程的执行异步任务,一般用来执行经常运行的任务.更新缓存数据或发送邮件等. ##启用 该框架作为一个可选的revel模块,默认并不启用.需要更改应用配置来启用它: module.jobs = github.com/robfig/revel/modules/jobs 此外,为了访问任务监控页面,需要将下面添加至路由配置: module:jobs 这条语句将在路由配置中加入`/@jobs`地址 ##参数 一些选项告诉jobs框架在运行任务时应该具有什么样的限制,下…
revel提供了一个测试框架来方便的为自己的程序编写功能测试用例. 默认创建的应用骨架附带一个简单的测试用例,这里将它作为起点 ##概览 测试保存在`tests`目录: corp/myapp app/ conf/ public/ tests/…
revel中的模块是一个可以插入到应用中的包, 它允许从第三方引入至应用,并在它和应用之间共享控制器.视图与资源等数据. 一个模块应当具有和revel应用相同的结构."主"程序会以下列步骤合并模块: 1.`module/app/views`中的任意文件都会被加入模板加载器的搜索路径 2.`module/app/controllers`中的任意控制器都将被看作主程序的控制器 3.资源文件通过`Static.ServeModule("modulename", "…
revel在服务器端提供了`cache`库用以低延迟的存储临时数据.它缓存那些需要经常访问数据库但是变化不频繁的数据,也可以实现用户会话的存储. ##有效期 一下三种方法为缓存元素设置过期时间: 1. 一个`time.Duration`值 2.`cache.DEFAULT`值, 应用程序范围的过期时间(默认为1小时) 3.`cache.FOREVER`值, 永不过期 注意,调用者不能过度以来缓存中的数据,因为这些数据不具备持久保持的能力,并且重启缓存时,这些数据都将被清空. ##序列化 缓存器的…
##Messages `Messages`信息是对内容提供翻译的外部文本片段.revel提供了组织每一种语言文本片段的message文件.自动区域查找.基于cookie覆盖的消息嵌套和参数. 术语表: Locale: 语言和区域的组合,表示一个用户首选语言, 例如 en-US Language: 一个区域的语言部分, 例如 en. 预期为 ISO 639-1 编码 Region: 地区, 例如. US. 地区预期为 ISO 3166-1 alpha-2 编码 ##示例程序 revel处理mess…