Django admin中展示字段设置外链

这篇具有很好参考价值的文章主要介绍了Django admin中展示字段设置外链。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景假设

假设有一个爬虫程序,它的主要作用是爬取一些新闻标题和该新闻的访问链接,总的来说数据项就两个:

  • 新闻标题
  • 访问链接(URL)

作为开发者我希望在Django admin页面中展示“访问链接”的字段能够直接点击访问,而不是复制下来再粘贴到浏览器中访问。

鉴于此,我需要给“访问链接”这个字段设置一个外链,能够让我点击直接访问。

问题分析

Django admin所有对model的管理都在admin.py文件中,因此基本思路是在admin.py中配置“访问链接”字段的信息,使得它成为一个可点击的<a>标签内容,借此实现点击访问的效果。

但需要注意的是,直接拼接<a>标签字符串会被Django当做普通字符串处理,并不会进行HTML解析。

解决办法

Django提供format_html函数,该函数可以安全地渲染HTML内容,示例代码如下:

# admin.py
from django.contrib import admin
from .models import Link
from django.utils.html import format_html

@admin.registger(Link)
class LinkAdmin(admin.ModelAdmin):
	def click_url(self, obj):
		return format_html('<a href="{}" target="_blank">{}</a>', obj.link, obj.link)

	click_url.short_description = '访问链接'
	# ...
	list_display = ('title', 'click_url', 'updated')
	# ...

上面click_url.short_description = '访问链接'部分主要用于设置列名。

函数click_url(self, obj)list_display中的click_url对应。文章来源地址https://www.toymoban.com/news/detail-521934.html

到了这里,关于Django admin中展示字段设置外链的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python Django的admin后台建设

    1、 django提供了完善的后台管理数据库的接口 ,可供开发过程中调用和测试使用 2、 django 会搜集所有已注册的模型类 ,为这些模型类提供数据管理界面,供开发者使用 admin配置步骤 1、创建后台管理账号-该账号为管理后台最高权限账号—注意:可以创建多个超级用户 python

    2023年04月16日
    浏览(34)
  • Django之admin后台页面功能详解

    Django是一种流行的Python Web开发框架,它提供了一个功能强大且易于使用的admin界面,用于管理网站的后台数据和功能。Django的admin界面是自动生成的,它根据你的模型类自动创建表单和列表视图。你只需将模型类注册到admin界面,就可以轻松地管理和操作数据库中的数据。 a

    2024年04月26日
    浏览(40)
  • Django——Auth模块以及admin站点

    Auth 用户认证,本质上也是设置 Session。 在 django 迁移数据库的是时候会自动生成一个用户认证表:auth_user , 存放用户基本信息(用户名 , 密码,邮箱……) 重新配置 auth 认证模型类 实现验证登录,以及退出登录 django 提供的网站后台数据管理 创建管理员用户 注册的时候,

    2024年04月29日
    浏览(34)
  • Django 一个 model 注册多个 admin 表

    首先介绍这篇文章实现的功能:在实际的使用场景中可能会出现某个数据表数据过多,但是Django 的 admin 后台对于大批量数据的查询速度一言难尽,比如我有一个用户表,但是大部分时间都只需要查询被禁用的用户,而直接进行查询所有用户实在是太慢了,所以我把用户表在

    2024年02月08日
    浏览(42)
  • Django 为应用定制化admin独立后台

    定制后界面 在应用目录下找到admin.py并进行编辑 site_header=\\\"Admin-site-header\\\" site_title=\\\"admin-site-title\\\" index_title=\\\"admin-index-title\\\" 编辑项目目录中的urls.py 导入应用的admin,例如应用名为polls from polls .admin import polls_admin_site 添加地址,例如地址为pollsadmin path(\\\" pollsadmin /\\\", polls_admin_site.u

    2024年01月22日
    浏览(35)
  • Django_admin数据管理后台

    目录 一、基础操作 二、自定义后台操作数据行为 源码等资料获取方法 admin数据管理后台是django内置的一个后台管理界面,能查看已注册模型类的数据结构,以及对数据的增删改。 1.1 检查项目目录下的urls.py有没有如下配置 1.2 创建django的admin后台管理账号 1.3 在app对应目录下

    2024年02月16日
    浏览(34)
  • Django admin管理工具TabularInline表格内联

    TabularInline 是 Django Admin 中的一个内联模型选项,用于在父模型的编辑页面中以表格形式显示关联的子模型对象。下面是对 TabularInline 的一些详解: 显示方式 : TabularInline 以表格的形式显示子模型对象。每个子模型对象将以一行的形式展示,显示相关字段的值。 编辑和新增

    2024年02月16日
    浏览(27)
  • Django笔记三十五之admin后台界面介绍

    本文首发于公众号:Hunter后端 原文链接:Django笔记三十五之admin后台界面介绍 这一篇介绍一下 Django 的后台界面使用。 Django 自带了一套后台管理界面,可用于我们直接操作数据库数据,本篇笔记目录如下: 创建后台账号以及登录操作 注册后台显示的数据表 列表字段的显示

    2024年02月02日
    浏览(48)
  • Django使用uwsgi+nginx部署,admin没有样式解决办法

    若在服务器上部署的项目admin没有样式,则检查下一下配置: settings uwsgi.ini urls nginx.conf } 如果使用了虚拟环境则修改nginx.conf文件中的/static/路径为你虚拟环境的路径,没有使用虚拟环境则改为你python安装路径下的static 修改完后,cd/usr/sbin,使用./nginx -s reload,重启nginx,重启项目

    2024年02月14日
    浏览(40)
  • Django JSONField的自动转换(django自定义模型字段)

    Django v3.1的主要更新之一便是完善了对JSON数据存储的支持,新增models.JSONField和forms.JSONField,可在所有受支持的数据库后端上使用。 通过models.JSONField可指定此字段为存储类型为JSON格式。null=True表示此字段可以为空。 如果您想实现JSONField的自动转换,可以使用Django REST framework的

    2024年02月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包