将子域名保存到String

dus*_*her 1 python subdomain plone zpt template-tal

这是一个相当不寻常的请求,但是可以将子域提取到变量吗?

e.g.
(1)  sub1.mydomain.com
(2)  sub2.mydomain.com 
Run Code Online (Sandbox Code Playgroud)

当我点击(1)我想保存"sub1",反之亦然.我用plone(python和tal).感谢你的输入.

Mar*_*ers 5

只需使用Python表达式在第一个点分割:

tal:define="subdomain python:domain.partition('.')[0]"
Run Code Online (Sandbox Code Playgroud)

或者,如果使用Python 2.4或更早版本:

tal:define="subdomain python:domain.split('.', 1)[0]"
Run Code Online (Sandbox Code Playgroud)

这使用str.partition()str.split()返回字符串列表; 本地名称是第一部分; [0]选择该列表的第一个元素.

使用Python提示演示:

>>> 'sub1.mydomain.com'.partition('.')[0]
'sub1'
>>> 'sub1.mydomain.com'.split('.', 1)[0]
'sub1'
Run Code Online (Sandbox Code Playgroud)