码迷,mamicode.com
首页 > Web开发 > 详细

自定义的Xadmin,并且添加额外的url

时间:2018-10-13 16:47:32      阅读:563      评论:0      收藏:0      [点我收藏+]

标签:get   direct   dmi   .com   ^c   false   first   dir   hang   

    # 自定义多对多的显示
    def display_customer(self,obj=None,is_field=False):
        if is_field:
            return "课程"
        else:
            ret = obj.course.all()
            temp=[]
            for course_obj in ret:
                s="<a style=‘border:1px solid #369;padding:3px 6px‘ href=‘/Xadmin/crm/customer/cancel/%s/%s‘>%s</a>&nbsp;"%(obj.pk,course_obj.pk,course_obj.name)
                temp.append(s)
            return mark_safe("".join(temp))
    # 自定义url所对应的方法
    def cansel_course(self,request,customer_id,course_id):
        print(customer_id,course_id)
        customer = self.model.objects.filter(pk=customer_id).first()
        customer.course.remove(course_id)
        return redirect(self.get_list_url())
    # 自定义url
    def extra_url(self):
        temp=[]
        temp.append(url(r"^cancel/(\d+)/(\d+)",self.cansel_course))
        return temp
     list_display = [display_customer]

 

    # 额外的url
    def extra_url(self):
        return []
    def get_url2(self):
        app_name   = self.model._meta.app_label
        model_name = self.model._meta.model_name
        temp=[]
        temp.append(url(r"^$", self.list_view,name="%s_%s_list"%(app_name,model_name)))
        temp.append(url(r"^add/$", self.add_view,name="%s_%s_add"%(app_name,model_name)))
        temp.append(url(r"^(\d+)/change/$", self.change_view,name="%s_%s_change"%(app_name,model_name)))
        temp.append(url(r"^(\d+)/delete/$", self.delete_view,name="%s_%s_delete"%(app_name,model_name)))

        temp.extend(self.extra_url())
        return temp

点击课程标签,去除该课程:

技术分享图片

 

自定义的Xadmin,并且添加额外的url

标签:get   direct   dmi   .com   ^c   false   first   dir   hang   

原文地址:https://www.cnblogs.com/fangsheng/p/9783245.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!