這個(gè)功能在很多地方都要用到
這里舉例的需求是在customer查看頁(yè)面中,點(diǎn)擊咨詢課程中的某一個(gè)課程名稱就會(huì)將這個(gè)課程與對(duì)應(yīng)的同學(xué)解綁(不再顯示)
要實(shí)現(xiàn)這個(gè)需求需要新添加一條url,這條url中我們可以獲取想要解綁的課程id和表中這條記錄的主鍵創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站制作和雅安電信機(jī)房的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗(yàn)和案例。
方法與filter、pop等功能相同,都是在表所對(duì)應(yīng)的自己的配置類中設(shè)置,從而實(shí)現(xiàn)之后這種表才有這條獨(dú)立的url
在stark.py中,我們給Customer這張表設(shè)置獨(dú)立的配置類,extra_url會(huì)返回一個(gè)url,對(duì)應(yīng)的視圖函數(shù)為self.cancel_course:
class CustomerConfig(ModelStark):
#處理課程的顯示樣式和每個(gè)課程對(duì)應(yīng)的url,url中帶有要解綁的課程id和表中這條記錄的主鍵id
def display_course(self, obj=None, is_header=False):
if is_header:
return "咨詢課程"
temp = []
for course_obj in obj.course.all():
s = "<a href='/stark/crm/customer/cancel_course/%s/%s' style='border:1px solid #369;padding:3px 6px'><span>%s</span></a> " % (obj.pk, course_obj.pk, course_obj.name)
temp.append(s)
return mark_safe("".join(temp))
#視圖函數(shù),實(shí)現(xiàn)點(diǎn)擊后刪除功能
def cancel_course(self, request, customer_id, course_id):
obj = Customer.objects.filter(pk=customer_id).first()
obj.course.remove(course_id)
#返回當(dāng)前表的查看頁(yè)面
return redirect(self.get_list_url())
#新的url,點(diǎn)擊相應(yīng)課程就會(huì)走到這條url來(lái),這是只單獨(dú)為Customer添加一條url
def extra_url(self):
temp = []
temp.append(url(r"cancel_course/(\d+)/(\d+)", self.cancel_course))
return temp
site.register(Customer, CustomerConfig)
在sites.py中,我們?cè)O(shè)置一個(gè)通用的extra_url功能,但返回是空,所以其他表對(duì)應(yīng)的url中沒(méi)有cancel_course/(\d+)/(\d+):
class ModelStark(): #配置類
def extra_url(self):
return []
#我們?cè)诙?jí)分發(fā)中將這條url添加到temp列表中
def get_urls2(self):
#額外添加一個(gè)url
temp.extend(self.extra_url())
return temp
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱:stark組件5_擴(kuò)展url-創(chuàng)新互聯(lián)
本文地址:http://www.chinadenli.net/article42/gsjec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)站改版、定制網(wǎng)站、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容