[英]Modify variable in django template by rendering middle of variable
我在模板中有一個變量key.links.self
(來自json輸出),這是一個URL:
https://ahostnamea.net:666/api/v1/
現在,我想做的是從此變量僅在模板中呈現ahostnamea
。
我知道可以剪切字母,但是當第一個字母始終具有相同的計數( https://
= 8個字母)時,其余字母就不是那么簡單,並且會有所不同。
有什么方法可以將字符串從/
分割/剪切.
? 還是其他方式?
適當的解決方案是{{ request.META.HTTP_HOST }}
您可以使用具有捕獲組和否定字符類[^.]+
的模式,該字符類與除點以外的任何字符都匹配。
https?://([^.]+)
例如
import re
regex = r"https?://([^.]+)"
test_str = "https://ahostnamea.net:666/api/v1/"
matches = re.search(regex, test_str)
if matches:
print(matches.group(1))
結果
ahostnamea
編輯
如建議的那樣,您還可以使用urllib.parse來獲取主機名。
from urllib.parse import urlparse
o = urlparse("https://ahostnamea.net:666/api/v1/")
您可以通過分割一個點來獲得第一部分:
s = o.hostname.split('.', 1)[0]
print(s)
結果
ahostnamea
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.