有没有办法在grok.CodeView类中标记可遍历的方法,就像使用Zope 3 BrowserView和allowed_attributesZCML配置指令一样?
我找到了文档,grok.traversable()但看起来这样的方法在五个grok包中不存在.
我是一名受过培训的计算机程序员,但已经离开网络开发一段时间了.我正在对各种Python Web开发框架进行一些背景研究.据我所知,Django,Grok/Zope 3和Pylons都是很好的实体框架,但几乎没有背景与他们合作.有人可以向我解释每个框架的方法的不同之处,以及与其他框架相比时哪一个闪耀?
我的具体用例是构建一个Web应用程序,它将根据用户提供的各种信息向用户推荐产品.因此,它将以基本简档,产品偏好的形式花费相当多的用户输入,尝试在用户之间建立社交关系.它还需要支持员工将产品上传到具有标记功能的系统,然后可以与用户匹配.
最后一点,Plone的部分内容是否有助于为非技术人员提供上传产品和产品描述的界面?Plone片段容易借用吗?似乎我不应该重新发明轮子,方法是让人们上传待售/推荐的物品以及描述物品的一些元数据.谢谢您的帮助.
什么是grok的粉碎(双关语)特征使它比django更好?我怎么知道我的项目何时需要grok + zope,或者它可以用django开发?
我发现在安装了1.2.0 five.grok的Plone安装中,我只需要在我的egg源中有一个"静态"文件夹,并且grok会适当地注册它.
当我移动到安装了1.3.0 five.grok的环境时,此静态文件夹未注册.我当然可以在configure.zcml文件中明确注册它 - 它工作正常.检查five.grok的源代码确实存在与此相关的更改:类staticResourcesGrokker已从meta.py中删除了1.5.0和1.3.0之间的five.grok.
我只是想了解是否有一种以"grok方式"注册静态文件夹的新方法,或者我应该恢复使用configure.zcml中的显式注册?
我正在尝试为Plone网站构建一个表单包.我目前正在使用Plone 4.3.在我使用Dexterity和five.grok和grok库之前.但在阅读了本文的Plone 4.3迁移和five.grok依赖部分之后:http://developer.plone.org/components/grok.html看起来Plone开发人员正在逐渐停止使用grok .
那么我是否应该放弃使用Grok?如果所有当前文档目前都在使用Grok,我将如何这样做呢?此外,我正在从基于Windows的机器开发.
这是我的示例错误日志:
2017/03/29 17:32:56 [error] 21924#21924: *212595 access forbidden by rule, client: 172.31.0.14, server: , request: "POST /app/etc/local.xml HTTP/1.1", host: "www.overcart.com"
Run Code Online (Sandbox Code Playgroud)
我想要一个与此匹配的 grok 模式。我不知道如何继续。不知道如何创建一个。我尝试了各种方法,但都没有奏效。
我目前正在使用以下 grok 模式解析它:
%{DATESTAMP:mydate} [%{DATA:severity}] (%{NUMBER:pid:int}#%{NUMBER}: *%{NUMBER}|*%{NUMBER}) %{GREEDYDATA:mymessage}(?:, client: (?<client_ip>%{IP}|%{HOSTNAME})) (?:, server: %{IPORHOST:server})(?:, request: %{QS:request})?(?:, host: %{QS:host})?(?:, referrer: \"%{URI:referrer})
Run Code Online (Sandbox Code Playgroud)
但它不是从(?:, server:开始解析。
我打算做一些大型项目(1 000 000用户,大约500请求前秒 - 在炎热时间).为了性能,我将不使用关系dbms(每个请求可能会花费很多关于dbms的关系dbms中的指令) - 所以我不能使用DAL.
我的问题是:
你能告诉我一下吗?
是否可以使用五个.grok 注册命名适配器。
ZCML 等价物将是:
<adapter name="description" factory=".indexers.mytype_description" />
Run Code Online (Sandbox Code Playgroud) 当我使用stdin作为输入流时,我得到了正确的输出.但每当我使用该文件作为输入时,输出会在以下消息后冻结.
"Using milestone 2 input plugin 'file'. This plugin should be stable but if you see strange behavior, please let us know."
Run Code Online (Sandbox Code Playgroud)
这是我的配置文件.
input {
file {
path => ["c:/users/a/b/c/logstash-1.4.1/bin/logs/logfile.log"]
start_position => beginning
}
}
filter {
grok {
patterns_dir => "./patterns"
break_on_match => "false"
match => ["message", "%{MY_DATE:my_date}"]
}
grok {
patterns_dir => "./patterns"
break_on_match => "false"
match => ["message", "%{DATE:date}"]
}
grok {
patterns_dir => "./patterns"
break_on_match => "false"
match => ["message", "%{TIME:time}"]
}
grok {
patterns_dir => …Run Code Online (Sandbox Code Playgroud) 我的问题是关于如何使用 Grok 模式。
我知道给定的现有 Grok 模式,我可以使用以下语法将值分配给字段:
%{DATESTAMP_RFC822:timestamp}
Run Code Online (Sandbox Code Playgroud)
我也知道我可以创建自己的自定义模式并将其与 patternsDir 字段一起使用。
我的问题是我是否可以使用 Grok 模式的组合来解析并将值分配给字段?
例如,这里是 DATESTAMP_RFC822 模式的“定义”:
DATESTAMP_RFC822 = %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}
Run Code Online (Sandbox Code Playgroud)
如果我不希望 %{TZ} 作为模式的一部分,我该如何使用模式的其余部分来解析和分配时间戳?类似于...
?<timestamp>%{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME}
Run Code Online (Sandbox Code Playgroud)
我知道以上是行不通的。但我希望很清楚我想要实现的目标。