首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django Admin:在表单顶部添加链接的自定义表单

Django Admin是Django框架提供的一个强大的后台管理界面,可以方便地管理和操作数据库中的数据。在Django Admin中,我们可以通过自定义表单来扩展其功能,包括在表单顶部添加链接。

自定义表单是通过继承Django Admin中的ModelForm类来实现的。在自定义表单中,我们可以通过重写表单的字段、验证规则和保存方法等来满足特定的需求。

要在Django Admin的表单顶部添加链接,可以通过以下步骤实现:

  1. 创建一个自定义表单类,继承自Django Admin的ModelForm类。
代码语言:txt
复制
from django import forms
from django.contrib import admin

class CustomForm(forms.ModelForm):
    # 自定义表单字段和验证规则

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        # 添加链接的代码

    def save(self, commit=True):
        # 自定义保存方法

    class Meta:
        model = YourModel
        fields = '__all__'
  1. 在自定义表单类的__init__方法中,可以通过self.fields属性来添加链接。可以使用HTML标签和Django模板语言来生成链接。
代码语言:txt
复制
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields['custom_link'] = forms.CharField(
        widget=forms.TextInput(attrs={'readonly': 'readonly'}),
        label='Custom Link',
        required=False,
        initial='<a href="https://example.com">Custom Link</a>'
    )
  1. 在自定义表单类的save方法中,可以对保存的数据进行处理,例如保存链接到数据库。
代码语言:txt
复制
def save(self, commit=True):
    instance = super().save(commit=False)
    # 处理保存的数据
    if commit:
        instance.save()
    return instance
  1. 在Django Admin的ModelAdmin类中,指定使用自定义表单类。
代码语言:txt
复制
class YourModelAdmin(admin.ModelAdmin):
    form = CustomForm

admin.site.register(YourModel, YourModelAdmin)

通过以上步骤,我们可以在Django Admin的表单顶部添加自定义链接。在自定义表单类的__init__方法中,通过self.fields属性添加一个CharField,并设置其widget为TextInput,同时设置readonly属性为readonly,这样就可以显示一个只读的文本框。在initial属性中,可以设置链接的HTML代码。在自定义表单类的save方法中,可以对保存的数据进行处理,例如保存链接到数据库。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django admin详情表单显示中添加自定义控件实现

首先先讲解下思路,admin中有几个界面,一个是展示list界面,一个是详情model界面,model中其实就是详情detail,里面记录了此条数据全部内容,精简来说就是一个form表单内容展示...form自带了widget控件,比如我想在里面添加一个按钮,记录用户积分消耗情况,那么就可以类名下直接添加: from django.forms import widgets class AForm...这个时候我们就可以详情内看见button了,但是相对应detail表单添加后,add表单中也会出现一个button,这个不是我们想要,所以就要想办法让button只存在于detail界面中...补充知识:Django admin 列表每行后面添加审核按钮 我就废话不多说了,还是直接看代码吧!...刷新页面即可; 以上这篇django admin详情表单显示中添加自定义控件实现就是小编分享给大家全部内容了,希望能给大家一个参考。

4.9K20

django admin 添加自定义链接方式

效果展示 解决 首先在django admin列表中查看数据id所代表链接 ? 使用浏览器检查元素功能查看点击该id所跳转链接 ? 现在我们知道点击admin页面跳转链接格式了。...将上述定义模型表单添加到模型管理器中 class FeedbackModelAdmin(admin.ModelAdmin): form=FeedbackModelForm ………....总结 使用这种方法可以不用创建一个空模型然后重写它changelist_view函数实现自定义链接,可以给admin界面的文字,图片等添加链接(通过自定义widget就可实现),并且链接样式可以自己定义...安全性上,本文做法实际上相当于自己手动给django admin内置视图函数发送请求,和原来django自己自动生成页面链接没有任何区别,对自定义链接响应实际上也要经过**django ** admin...以上这篇django admin 添加自定义链接方式就是小编分享给大家全部内容了,希望能给大家一个参考。

1.3K20

django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

通过 admin.site.register(Poll) 注册了 Poll 模型,Django 就能构造一个默认 表单。通常情况下,你将要自定义管理表单外观和功能。...Django 知道 ForeignKey 管理网站中以 框显示。本例中,选择框中仅存在一个 poll 。 另外请注意 Poll 旁边 “Add Another” 链接。...现有的三个插槽底部,你会发现一个 “Add another Choice” 链接。 如果你点击它,一个新插槽会被添加。如果想移除添加插槽, 你可以点击所添加插槽右上方 X 。...添加下面这一行代码:: date_hierarchy = 'pub_date' 这会在 change list 页顶部增加了基于日期分层导航功能。 最顶层,显示所有可用年份。...自定义管理界面的外观 显而易见,每一个管理页面顶部有 “Django administration” 是无语。虽然它仅仅是个占位符。 不过使用 Django 模板系统是很容易改变

2.5K40

Django学习笔记 1.7 自定义 admin 站点

作者: iotisan 前言 这节笔记将更加深入地处理 admin 站点,包括修改表单更加直观呈现模型数据,快速添加关联对象,以及后台涉及列表展示、过滤器、搜索框等操作。...1 自定义后台表单 polls/admin.py 通过 admin.site.register(Question) 注册 Question 模型,Django 能够构建一个默认表单用于展示。...通常来说,你期望能自定义表单外观和工作方式。你可以注册模型时将这些设置告诉 Django。...当我们拥有数十个字段表单,我们肯定会期望将表单分为几个字段集,这样会更清晰一点: from django.contrib import admin from .models import Question...: search_fields = [‘question_text’] 列表顶部增加一个搜索框。

98120

Django 1.10中文文档-第一个应用Part7-自定义管理站点

自定义管理表单 通过admin.site.register(Question)注册了Question后,Django可以自动构建一个默认表单。如果您需要自定义管理表单外观和功能。...点击它,会弹出一个新增Question表单,类似Question自己添加表单。填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice关联外键对象。...再添加一些搜索功能: search_fields = ['question_text'] 这行代码修改列表顶部添加了一个搜索框。...自定义管理站点外观 很明显,每一个admin页面坐上顶端都显示“Django 管理”是感觉很荒诞,它仅仅是个占位文本。利用Django模板系统,可以易修改它。...该变量包含了所有已经安装Django应用。你可以硬编码链接到指定对象admin页面,使用任何你认为好方法,用于替代这个app_list。

3.6K60

Django】当大型项目采用Django框架对于QueryDict以及模板表单Admin 管理工具使用

QueryDict HttpRequest对象中,GET和POST属性是django.http实例。QueryDict类。 QueryDict是一个用户定义类,类似于字典。...) >>> q.getlist('a') ['1', '2'] >>> q['a'] # returns the last ['2'] 表单 模板末尾,我们添加了一个rlt令牌,为表处理结果预留空间...csrf全称是跨站点请求伪造。这是Django提供防止伪装提交请求功能。POST方法提交表单必须具有此标签。...每个视图函数负责返回一个HttpResponse对象,该对象包含生成响应。 视图层中有两个重要对象:请求对象和响应对象。 Admin 管理工具 我们可以自定义管理页面以替换默认页面。...: 通过错误消息Py文件文件路径,…site packages django-2.0-py3.6.eggDjango-db-backends-mysql路径中找到基,注释掉两行代码(代码位于文件开头

1.6K20

Django快速入门——投票程序(7) 自定义后台

自定义后台 自定义表单 通过admin.site.register(Question)注册Question模型,Django会创建默认表单在后台显示。...但有时需要自定义后台显示,可以通过继承admin.ModelAdmin实现: # polls/admin.py from django.contrib import admin from .models...自定义后台更改列表 现在投票后台页看起来很不错,让我们对问题列表页面进行一些调整——改成一个能展示系统中所有投票页面。默认情况下,Django 显示每个对象 str() 返回值。...为此,使用 list_display属性,它是一个包含要显示字段名元组,更改列表页中以列形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):...字段来过滤列表: 让我们再添加搜索功能: search_fields = ["question_text"] 列表顶部有了一个搜索框。

20040

Django管理应用程序高级配置BookInstance模型运用【Django

Django管理应用程序 Django管理应用程序可以使用模型自动构建可用于创建、查看、更新和删除记录站点区域。这可以开发过程中节省大量时间,使测试模型和查看是否有正确数据变得容易。...python3 manage.py runserver 高级配置 Django使用注册模型信息创建基本管理站点: 每个模型都有一个单独记录列表,由__ str__()方法创建并链接到详细视图/表单以进行编辑字符串...默认情况下,视图顶部有一个操作菜单,可用于批量删除记录。 用于编辑和添加记录模型详细记录表单包含模型所有字段,这些字段按其声明顺序垂直排列。 可以进一步自定义界面,使其更易于使用。...向列表视图中操作菜单添加其他选项,并选择此菜单在表单显示位置。 详细信息视图 选择要显示(或排除)字段、它们顺序、分组、可编辑、要使用小部件、方向等。...向记录中添加相关字段以允许内联编辑(例如,创建作者记录时添加添加和编辑书本记录功能)。

1.7K20

Django | allauth】useprofile 用户模型扩展

推荐一款找工作神器网站: 牛客网|笔试题库|面试经验|实习招聘内推 还没账户小伙伴 速速点击链接跳转牛客网登录注册 开始刷爆题库,速速通关面试吧‍♂️该文章收录专栏✨[---【Django | 项目开发...应用models.py 创建扩展模型(添加字段)from django.contrib.auth.models import Userfrom django.db import models# Create...1)自定义表单类 (这里需求是需要附加输入,建议使用这种方法)注意!!!...: 自定义表单 配置好之后,是直接引入到allauth.account,forms,这个时候是不能使用 重写继承方法!,不然引入父类操作会陷入调用循环!...图片原理: allauth应用 根据setting中 account_signup_form_class值(路由)引入该表单类,将该表单方法 siginup 替换掉原生注册表单# 自定义表单class

16410

Admin站点

AppConfig.verbose_name 属性用于设置该应用直观可读名字,此名字Django提供Admin管理站点中会显示, 注册模型类 登录后台管理后,默认没有我们创建应用中定义模型类...列表页中点击"增加"可以进入增加页,Django会根据模型类不同,生成不同表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。 ?...定义与使用Admin管理类 Django提供Admin站点展示效果可以通过自定义ModelAdmin类来进行控制。...操作选项位置 顶部显示属性,设置为True顶部显示,设置为False不在顶部显示,默认为True。...调整站点信息 Admin站点名称信息也是可以自定义

2.1K20

Django | allauth】useprofile 用户模型扩展

应用models.py 创建扩展模型(添加字段) from django.contrib.auth.models import User from django.db import models...__str__()) admin 文件 注册UseProfile模型 from django.contrib import admin from userprofile.models import...有两种方法实现 1)自定义表单类 (这里需求是需要附加输入,建议使用这种方法) 注意!!!...: 自定义表单 配置好之后,是直接引入到allauth.account,forms,这个时候是不能使用 重写继承方法!,不然引入父类操作会陷入调用循环!...图片 原理: allauth应用 根据setting中 account_signup_form_class值(路由)引入该表单类,将该表单方法 siginup 替换掉原生注册表单# 自定义表单

1.1K10

Django 后台自定义表单控件

django 中我们可以 admin.py 中添加 ModelAdmin,这样就能很方便地在后台进行增删改查操作。...然而,对应 Model 生成表单,并不友好,我们希望能像前端开发一样做出各种类型控件,这就得对其后台表单进行自定义。...,在里面为字段添加控件,widget 用来指定控件类型,choices 指定可选列表,再在 MyAdmin 中 form 指定为自定义表单即可。... django 中已经提供了很多 widget(控件),然而这些还远远满足不了我们需求,这就需要我们去自定义,下面就以一个 ACE 插件 (ACE 是一个独立 JavaScript 编写基于 Web... forms.py 中将自定义控件 AceWidget 引入: #coding: utf-8 from django import forms from .models import Code from

1.8K20

登录

用户已经能够我们网站注册了,注册就是为了登录,接下来我们为用户提供登录功能。和注册不同是,Django 已经为我们写好了登录功能全部代码,我们不必像之前处理注册流程那样费劲了。...、渲染控件、渲染帮助信息等注册表单部分已经讲过,登录表单中只引入了一个新东西:{{ form.non_field_errors }},这显示同样是表单错误,但是显示表单错误是和具体某个表单字段无关...此外登录表单 action 属性值是 {% url 'login' %},即 auth 应用下 login 视图函数对应 URL,用户提交表单数据将提交给这个 URL,Django 调用 login...下面就来给网站添加注销登录功能吧! 总结 本教程示例项目代码位于 GitHub:Django Auth Example。 如果遇到问题,请通过下面的方式寻求帮助。 在下方评论区留言。... Pythonzhcn 社区新手问答版块 发布帖子。 更多 Django 相关教程,请访问我个人博客:追梦人物博客。

3.8K50
领券