zoukankan      html  css  js  c++  java
  • django admin 根据choice字段选择的不同来显示不同的页面

    一、举例

    tip/tip.js
            var react = function () {
            if (django.jQuery('#id_tiptype').val() == 'content') {
                django.jQuery('#id_content').parent().parent().show(500);
                django.jQuery('#id_image').parent().parent().hide(500);
                django.jQuery('#id_cropping').parent().parent().hide(500);
            }
            else {
                django.jQuery('#id_content').parent().parent().hide(500);
                django.jQuery('#id_image').parent().parent().show(500);
                django.jQuery('#id_cropping').parent().parent().show(500);
            }
            };
    
            #当选择的类型改变的时候触发react函数
            django.jQuery(function () {
                react();
                django.jQuery('#id_tiptype').on('change', react);
            });

    二、admin.py

    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.contrib import admin
    from image_cropping import ImageCroppingMixin
    
    from salmonella.admin import SalmonellaMixin
    
    from tip.models import Tip,TipTag
    
    
    @admin.register(Tip)
    class TipAdmin(ImageCroppingMixin, SalmonellaMixin, admin.ModelAdmin):
        # search_fields = ('tiptype',)
        list_filter = ('enabled',)
        list_display = ('tiptype', 'enabled', 'get_tag','image')
        salmonella_fields = ('tags', )
    
    
    
        # fields = ('tiptype', 'enabled','tags','image')
    
        def get_tag(self, obj):
            print(obj.tags.all())
            if obj.tags.all():
                tag_list = [i.name for i in obj.tags.all()]
                return ','.join(tag_list)
            else:
                return ''
    
        get_tag.short_description = '小贴士标签'
    
        class Media():
            js = ('tip/tip.js',)
    
    
    @admin.register(TipTag)
    class TiptagAdmin(admin.ModelAdmin):
        search_fields = ('name', )
        list_display = ("name", )
  • 相关阅读:
    【k8s】pv 处在 Terminating 状态
    【k8s】命令行自动补全
    【k8s】允许 master 节点运行 pod
    【k8s】Harbor 安装
    Nginx 允许 frame 嵌套
    Python基础教程:json中load和loads区别
    Python 基础教程:用户交互语句
    Python正则表达式-常用函数的基本使用
    Python字典循环与字典排序
    4道Python文件操作和函数练习题
  • 原文地址:https://www.cnblogs.com/haiyan123/p/9046487.html
Copyright © 2011-2022 走看看