自定義的Xadmin,並且添加額外的url


    # 自定義多對多的顯示
    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)
     # self.model = CustomerConfig 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

點擊課程標簽,去除該課程:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM