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模板网!

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

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

相关文章

  • Django框架之Admin站点管理

    Django的强大体现在其内置的Admin模块可以使得开发人员在不做任何编码的情况下就拥有网站后台管理功能。 目录 概述 配置admin应用 创建管理员账户 启动服务器 登录网站 语言汉化 管理数据表 引入 注册 总结 内容发布:负责添加、修改、删除内容;内容访问查看。 在setting

    2023年04月25日
    浏览(37)
  • Django——Auth模块以及admin站点

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

    2024年04月29日
    浏览(26)
  • python Django的admin后台建设

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

    2023年04月16日
    浏览(28)
  • Django_admin数据管理后台

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

    2024年02月16日
    浏览(28)
  • 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日
    浏览(28)
  • Django 一个 model 注册多个 admin 表

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

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

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

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

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

    2024年02月02日
    浏览(38)
  • 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日
    浏览(31)
  • Django JSONField的自动转换(django自定义模型字段)

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

    2024年02月08日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包