「TIL」使用 Cloudflare Tunnel 穿透内网并增加登录保护
今天尝试了使用 Cloudflare Tunnel 穿透内网将本地服务暴露出去,并且为暴露出去的内网服务增加 OTP 验证以保障其安全性。赞美 Cloudflare!
今天尝试了使用 Cloudflare Tunnel 穿透内网将本地服务暴露出去,并且为暴露出去的内网服务增加 OTP 验证以保障其安全性。赞美 Cloudflare!
通过一个简单的 patch 修复 Odoo 16 在 context 中指定动态视图不生效的问题。
这篇内容给大家简单讲讲怎么给 Odoo 中的 PDF 附件(ir.attachment)添加水印,本文相关代码均基于 Odoo 14 进行开发,在其他版本中可能会有所差异,请自行调试修改。
最近不时会看到群里有小伙伴问怎么在 Tree 视图上添加自定义按钮执行指定的方法,也有不少热心群友给出了解决方案,那我也来写一个在 Odoo 13 列表视图添加按钮的方法吧。
在中文社区经常会看到有小伙伴询问 Notion 除了自带的三种字体外,有没有得使用其他字体的问题。我相信 Notion 官方应该正在努力实现小伙伴们提出的各种特性和需求了,在这些功能正式出来之前,或许我们可以先“自食其力”满足一下自己的需求。
本文将会着重讲解如何配置和使用 Odoo Docker 镜像,以及如何实现一定程度的 Odoo 自动化配置。
在一个模块被安装之后,我们可能会希望它可以执行一些动作,例如打开某个菜单页面,打开某个网址,或者执行一些数据的初始化和处理等,我们可以借助 Odoo 的 ir.actions.todo 类型的动作来实现这个需求。
前些天群里的小伙伴问了些关于在 Odoo 管理后台自定义页面和 Widget 的问题,那我就来写一篇简短的内容,教大家如何创建自定义页面并引用第三方库。如果大家有看我之前写的基础教程的话,应该知道我们从一开始就是用的是 Odoo11 吧,从今天开始,我们的教程全都将基于 Odoo12 进行编写,所以在开始前,请确保你现在使用的是 Odoo12,或者跟随官方的安装指南安装好环境再开始今天的内容。
在今年的情人节(2018.02.14)那天,我写了一篇博客说即将要开一个坑,也就是大家在看的这个系列的教程。今天这个系列教程即将迎来它的最后一篇内容了,我们将要来学习 Odoo 中权限相关的内容。
大家好鸭,我又来更新啦!还记得我们在第二篇教程中提到过的动作(actions)吗,今天我们就来专门讲讲在 Odoo 中的 action,学习不同类型的动作对应的应用场景,并且在我们的 Todo 应用中使用上其中一些类型的动作。
在前面教程中,我们使用了两种类型的视图——TreeView 和 FormView. 今天我们将学习使用另一种类型的视图——SearchView, 搜索视图。
在这一篇教程中,将会涉及到外键字段,可以将两个模型关联起来,然后很方便地获取到对应的数据。
在这篇教程里我们将会了解到 Odoo 模型里的一些其他类型的字段和特殊机制,而我依然会继续带领大家一起完善我们的 Todo 应用,不断地往里面添加一些新的功能特性,让它看起来更丰满也更实用一些🤓
在第一篇教程发布之后差不多一个月的今天,终于完成了第二篇内容,这个发布周期拖得实在是有点太长了,我都觉得不好意思了 :P
最近一段时间,除了上班加班之外,基本上都在忙着开发 DApp,也就是所谓的去中心化应用(Decentralized Applications)啦,为什么突然就搞起这个了呢?事情是这样的……
这是「Odoo 基础教程系列」的第一篇,在开始教程的正文之前,这里要先跟大家知会一声,在这篇教程以及后面的教程中,都将默认开发环境是 macOS 或 Ubuntu,因为在 Windows 中开发总是能遇到未知的坑,处理起来往往很是耗费时间精力,这里不去争论系统的优劣,如果没有 Windows 外的其他系统的小伙伴,但是又想学习本教程的内容,推荐你们使用虚拟机安装一个 Ubuntu 作为开发环境 :)
最近在做的项目中有一个需求是要让某个字段值根据记录产生的日期和一定的组合规则按顺序生成一个序列号,这个序列号不可重复,这原本是一个很常见的需求,没有多想就写好了。到后面测试的时候才发现一个比较严重的问题,如果用户同时操作产生的记录,生成的序列号会有重复的情况。
开发中经常会有的一个需求就是对数据字段做唯一性约束,在 Odoo 中为模型添加约束进行数据校验有两种方法:在 Python 程序中用@api.constrains 装饰器方法定义需要校验的字段;使用 _sql_constraints 属性添加 SQL 约束。一般来说,如果只是做唯一性约束,直接用后者即可,方便快速。
这篇文章将会教大家如何在保留系统导航栏菜单自带功能的基础上,将其接管以实现自定义菜单。