第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Django:使用 python 方法

Django:使用 python 方法

瀟湘沐 2023-08-22 10:37:38
我正在嘗試截?cái)嗾谔畛涞?html 表中的網(wǎng)址,如下所示:{% for x in queryset %} <tr>  <td>{{x.LINK}}</td> </tr>這樣 ie 'www.google.com' 就變成 'google'。如何實(shí)現(xiàn)?在 python 中,方法很簡(jiǎn)單.split('.'),但在這里我很困惑。或者也許在 django 中查詢數(shù)據(jù)之前完成所有數(shù)據(jù)修改會(huì)更簡(jiǎn)單?
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

編輯:剛剛注意到您的示例包含一個(gè)簡(jiǎn)化但格式錯(cuò)誤的 URL。這個(gè)更簡(jiǎn)單的模板標(biāo)簽適用于“www.google.com”格式的網(wǎng)址:


@register.simple_tag()

def get_domain_name_from_url(url):

    return url.split('.')[-2]

如果您執(zhí)意要在模板中執(zhí)行此操作,則可以創(chuàng)建自定義模板標(biāo)記:


只要您的網(wǎng)址格式正確(例如“https://www.google.com/”),這應(yīng)該可以解決問(wèn)題:


from django import template

register = template.Library()


from urllib.parse import urlparse


@register.simple_tag()

def get_domain_name_from_url(url):

    parsed_url = urlparse(url)

    netloc = parsed_url[1]

    domain_name = netloc.split('.')[-2]

    return domain_name

怎么運(yùn)行的:

  1. urlparse將域解析為一個(gè)包含 6 項(xiàng)的命名元組。

  2. 第二個(gè)元組項(xiàng) ( parsed_url[1]) 是包含 URL 的網(wǎng)絡(luò)位置部分的字符串(例如"www.google.com"

  3. 使用 將字符串拆分為其組成部分split('.'),并返回列表中的倒數(shù)第二項(xiàng) ( "google")。通過(guò)獲取 TLD ( ) 之前的部分.com,我們可以避免從頭開(kāi)始工作時(shí)出現(xiàn)的任何問(wèn)題。(例如,如果 URL 不包含www,我們將需要列表中的第一項(xiàng),而不是第二項(xiàng)。通過(guò)從 TLD 開(kāi)始并使用反向詞,我們應(yīng)該始終獲得域名。)

將代碼保存在名為[your_django_project]/[your_app]/templatetags/get_domain_name.py.

確保該應(yīng)用程序位于您的INSTALLED_APPSin中settings.py。

重新啟動(dòng)服務(wù)器。(不要忘記這部分。服務(wù)器在啟動(dòng)時(shí)會(huì)注冊(cè)您的模板標(biāo)簽。)

現(xiàn)在,在您的模板中,您可以加載代碼:

{% load get_domain_name %}
{% get_domain_name_from_url x.LINK %}


查看完整回答
反對(duì) 回復(fù) 2023-08-22
  • 1 回答
  • 0 關(guān)注
  • 102 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)