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 %}

显示效果:

相关推荐
钱多多_qdd3 分钟前
基于mac环境,升级python环境问题解决
开发语言·python·macos
云边有个稻草人4 分钟前
金仓数据库KingbaseES:自动创建表空间目录,简化部署适配云原生
数据库·kingbasees·数据库运维·国产化数据库·云原生适配·表空间管理
boonya4 分钟前
Python 量化金融框架及技术落地方案
开发语言·python·金融
梦想不只是梦与想4 分钟前
rag和agent的区别
人工智能·python·知识库·rag·智能体·agent‌
坐吃山猪4 分钟前
SqlLite数据库-思路拓展
数据库·sqlite
go不是csgo6 分钟前
从一个 while 循环开始,搭一个完整的 AI Agent(参考开源项目 learn claude code)
人工智能·python·ai
WL_Aurora7 分钟前
Python爬虫实战(一):图书网站API接口爬取
爬虫·python
沙振宇7 分钟前
【Python】使用YOLO8识别视频中的车与人物
python·yolo·音视频·状态模式·识别
代码中介商8 分钟前
从零掌握MySQL:安装配置与C语言连接实战
数据库·mysql
Ulyanov9 分钟前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 基石——3-DOF质点弹道的高保真建模与数值稳定性分析
开发语言·python·算法·ui·系统仿真