我怎样才能在Django模板中干净利落地做到这一点?基本上如果A,或(B和C),我想显示一些HTML.
我基本上有这个:
{%if user.is_admin或something.enable_thing and user.can_do_the_thing%}
现在,那有点暧昧.我试过了
{%if user.is_admin或(something.enable_thing and user.can_do_thething)%}
但是你不允许括号.文档说使用嵌套ifs(或者在这种情况下是elifs,我猜,因为它是一个OR),但是我不想在块内重复相同的HTML,这听起来很糟糕.
好吧,我用 grok 过滤器从日志行中找出唯一 ID 的第一段,就像这样(这只是我关心的第一段,扔掉其余的)。该段是十六进制的,我想要它是二进制的。
该行:
Transaction: 000178ec-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
过滤器就像:
Transaction: %{BASE16NUM:transaction_id}-%{GREEDYDATA:otherpartsidontcareabout}
Run Code Online (Sandbox Code Playgroud)
但它只是给了我这个结果:
{
"transaction_id": [
[
"000178ec"
],
"otherpartsidontcareabout":
[
"XXXX-XXXX-XXXX-XXXXXXXXXXXX"
]]
}
Run Code Online (Sandbox Code Playgroud)
我原以为它会被转换成十进制:
{
"transaction_id": [
[
"96492"
],
"otherpartsidontcareabout":
[
"XXXX-XXXX-XXXX-XXXXXXXXXXXX"
]]
}
Run Code Online (Sandbox Code Playgroud)
我这样做错了吗?我真的被困住了。