申し訳ありませんが、この質問は非常にnoobishですが、私はPython/Djangoを1ヶ月学習しているだけです。私はグーグルで、何時間もスタックオーバーフローを検索しましたが、私の問題の解決策を見つけることができません。templatetagのモデルから特定のテキストフィールドを呼び出すにはどうすればいいですか?
私は基本的にTextFieldからURLを解析し、それをテンプレートに提示しようとしています。
は、これまでのところ私が持っている:
from django import template
from urllib.parse import urlparse
register = template.Library()
from ..models import Thing
@register.simple_tag
def youtube_parse():
ytparse = urlparse('https://www.youtube.com/watch?v=bnKaOo67mLQ') # URL test
return yt_parse
そして、私のHTMLテンプレートに:私は次のコードでtemplatetags/embeds.pyを作成
class Thing(models.Model):
youtube_link = models.TextField(blank=True, null=True)
models.py
{% load embeds %}
{% youtube_parse %}
Soとても良い。テンプレートは解析されたURLを表示します(それほどきれいではありませんが)。
しかし、私が問題を抱えているのは、embed.pyのモデルの "youtube_link"フィールドを呼び出すことです。基本的に私はembed.pyはこれをしたい:
ytparse = urlparse(モデルシングからyoutube_link取得し、それを解析)
しかし、私は問題youtube_link呼び出しを持っています。私はThing.youtube_linkと他の多くのコードスニペットを試していますが、しばらくGoogle検索した後に見つけましたが、何も動作していないようです。
私には何が欠けていますか?
はどうもありがとう、それは今働いている私は、このソリューションを好むだろう! {%thing.youtube_link | youtube_parse%}を{{thing.youtube_link | youtube_parse}}に置き換えて動作させました – Harri