Oli*_*Oli 8 django django-admin
我有几个型号.除了管理员条目之外,没有任何列表视图.出于这个原因,手动计算模型实例的URL有点麻烦.
我想在列表和详细信息管理员视图中显示一个链接,直接将我带到公共视图.我可以做无意义的工作创建URL,但我不知道如何让它在管理员中显示.
有任何想法吗?
Dan*_*man 13
如果模型有get_absolute_url()方法,则应在管理详细信息屏幕的右上角自动显示"现场查看"按钮.
对于列表视图,您可以轻松地将方法添加到显示的字段列表中:
class MyAdmin(admin.ModelAdmin):
list_display=('name', 'anotherfield', 'show_url')
def show_url(self, instance):
return '<a href="%s">View on site</a>' % (instance.get_absolute_url())
show_url.allow_tags = True
Run Code Online (Sandbox Code Playgroud)
show_url.allow_tags = True不适合我。我不得不使用mark_safe:
from django.urls import reverse
from django.utils.safestring import mark_safe
class MyAdmin(admin.ModelAdmin):
list_display=('name', 'detail_url')
def detail_url(self, instance):
url = reverse('url_name')
return mark_safe(f'<a href="{url} target="_blank" rel="nofollow"">Follow</a>')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2228 次 |
| 最近记录: |