1. ホーム
  2. python

Django admin でフィールドにクリッカブルリンクを追加する方法は?

2023-10-20 19:57:46

質問

私はこのadmin.pyを持っています。

class LawyerAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Name',   {'fields': ['last', 'first', 'firm_name', 'firm_url', 'school', 'year_graduated']}),
    ]
    list_display = ('last', 'first', 'school', 'year_graduated', 'firm_name', 'firm_url')
    list_filter = ['school', 'year_graduated']
    search_fields = ['last', 'school', 'firm_name']

と私は"firm_url"フィールドにリストされているURLのそれぞれでクリックできるようにしたいです。どうすればいいのでしょうか?ありがとうございます。

どのように解決するのですか?

LawyerAdmin クラスに、リンクを HTML として返すカスタムメソッドを定義します。

def show_firm_url(self, obj):
    return '<a href="%s">%s</a>' % (obj.firm_url, obj.firm_url)
show_firm_url.allow_tags = True

参照 ドキュメント .