15、Django Admin添加自定义字段功能

修改模型类HeroAdmin

复制代码
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin):
    change_list_template = "entities/heroes_changelist.html"
    
    ...    # 此处原代码不动,只增加此前后代码
    
    def get_urls(self):
        urls = super().get_urls()
        my_urls = [
            path('immortal/', self.set_immortal),
            path('mortal/', self.set_mortal),
        ]
        return my_urls + urls
    def set_immortal(self, request):
        self.model.objects.all().update(is_immortal=True)
        self.message_user(request, "All heroes are now immortal")
        return HttpResponseRedirect("../")
    def set_mortal(self, request):
        self.model.objects.all().update(is_immortal=False)
        self.message_user(request, "All heroes are now mortal")
        return HttpResponseRedirect("../")

新增目录文件templates/Entities/change_form.html,Entities为应用名。change_form.html代码如下:

复制代码
{% extends "admin/change_form.html" %}
{% load i18n admin_urls %}
{% block object-tools-items %}
    <li>
        <a href="{% url opts|admin_urlname:'history' original.pk|admin_urlquote %}" class="historylink">{% translate "History" %}</a>
    </li>
    <li>
        <a href="mylink/" class="historylink">My Link</a>
    </li>
    {% if has_absolute_url %}
        <li>
            <a href="{% url 'admin:view_on_site' content_type_id original.pk %}" class="viewsitelink">{% translate "View on site" %}</a>
        </li>
    {% endif %}
{% endblock %}

显示效果:

相关推荐
成长痕迹3 分钟前
【Python与Matlab数据分析对比】
python·matlab·数据分析
11年老程序猿在线搬砖6 分钟前
如何搭建自己的量化交易平台
大数据·人工智能·python·自动交易·量化交易系统
错把套路当深情22 分钟前
Kotlin保留小数位的三种方法
开发语言·python·kotlin
错把套路当深情23 分钟前
Kotlin基础类型扩展函数使用指南
python·微信·kotlin
千里码aicood27 分钟前
python+vue旅游购票管理系统设计(源码+文档+调试+基础修改+答疑)
vue.js·python·旅游
行者游学28 分钟前
ETCD 集群备份与恢复
数据库·etcd
行者游学31 分钟前
ETCD 学习使用
数据库·学习·etcd
代码程序猿RIP31 分钟前
【Etcd 】Etcd 详解以及安装教程
linux·数据库·etcd
B站_计算机毕业设计之家33 分钟前
python电商商品评论数据分析可视化系统 爬虫 数据采集 Flask框架 NLP情感分析 LDA主题分析 Bayes评论分类(源码) ✅
大数据·hadoop·爬虫·python·算法·数据分析·1024程序员节
写代码的安徒生38 分钟前
调用 Google Veo 3.1 API 批量制作电商产品 UGC 视频
python·音视频