本篇文章為大家展示了如何在django中刪除和編輯ORM,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司成立十年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名與空間、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。向server端傳送數(shù)據(jù)
有2中方法,1 是 通過url 地址, 2 是通過路徑
向server端傳參數(shù)方式
1,通過數(shù)據(jù) http://127.0.0.1:8000/blog/?id=2
2, 通過路徑 http://17.0.0.1:8000/blog/20
# url(r'blog/(\d{4})')
刪除功能:
在url文件中,創(chuàng)建一個(gè)delbook路徑, 通過url的地址拿到id實(shí)現(xiàn)刪除
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$',views.index),#指定一個(gè)根目錄,也指向index頁面 url(r'^index/$',views.index), url(r'^addbook/$',views.addbook), url(r'^delbook/$',views.delbook), -------------------------------------------del刪除功能,對應(yīng)視圖函數(shù) #(\d+)分組后,作為參數(shù)傳給editorbook函數(shù),editorbook(request,1或2 等等) url(r'^editorbook/(\d+)',views.editorbook), ]
在index.html 頁面中,點(diǎn)擊刪除按鈕,在href 加上?id={{ book.id}}要?jiǎng)h除的書籍,
在get請求時(shí),url加上刪除時(shí)點(diǎn)擊到的id,獲取id,就可以刪除#}
在刪除一條記錄后,頁面的順序是錯(cuò)亂,在前端顯示的是數(shù)據(jù)庫的id,用forloop.counter 默認(rèn)從1開始循環(huán)顯示,與數(shù)據(jù)庫的id無關(guān),
{{ forloop.counter }}
{% load staticfiles %}Title
在views文件中,編輯delbook函數(shù),
django里的刪除和編輯,前提都是 要先找到,利用filter()方法,條件是id或者是name,等都可以,
步驟1,用get的方法,從url路徑中拿到id,
步驟2,對數(shù)據(jù)庫的id和要url里獲取到的id,對應(yīng),就執(zhí)行delete()方法,就刪除指定的記錄,數(shù)據(jù)庫也會(huì)減少一條記錄,
#刪除和修改,都是要先找到記錄(對象) def delbook(request): #先過濾,加上過濾的條件,然后用delete() #向server端傳參數(shù)方式 #1,通過數(shù)據(jù) http://127.0.0.1:8000/blog/?id=2 #2, 通過路徑 http://17.0.0.1:8000/blog/20 # url(r'blog/(\d{4})') #在前端頁面加上id值,{{book.id}} #通過url獲取iD,是get的方法,"id"是url里的key, id = request.GET.get("id") #前面的id是表里的字段,把get從地址欄里獲取到的id賦值給表里的id,就可以刪除 # Book.objects.filter(id = id).delete() return redirect('/index/')
=======
ORM的編輯功能
在url文件中創(chuàng)建editorbook路徑,和映射到視圖函數(shù),
通過訪問的路徑,拿到id,
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$',views.index),#指定一個(gè)根目錄,也指向index頁面 url(r'^index/$',views.index), url(r'^addbook/$',views.addbook), url(r'^delbook/$',views.delbook), -------------------------------------------del刪除功能,對應(yīng)視圖函數(shù) #(\d+)分組后,作為參數(shù)傳給editorbook函數(shù),editorbook(request,1或2 等等) url(r'^editorbook/(\d+)',views.editorbook),-----------------------------editorbook 編輯功能,對應(yīng)一個(gè)視圖函數(shù) ]
編輯一個(gè)editorbook頁面,
編輯時(shí)要獲取要編輯的是哪個(gè)對象,
比如:blog/20 ,20就是要獲取到的id
通過路徑 http://17.0.0.1:8000/blog/20
# url(r'blog/(\d{4})')
{% load staticfiles %}Title {# {{ csrf-token }}#} {# 以post的方法提交數(shù)據(jù),走到editbook 視圖函數(shù)#}
在views文件中,撰寫editorbook函數(shù),
表單的提交是post 方法,用post的方法獲取到每個(gè)輸入框的值, 然后保存到數(shù)據(jù)庫
def editorbook(request,id): # 2, 通過路徑 http://17.0.0.1:8000/blog/20 # url(r'blog/(\d{4})') #通過id獲取要修改的對象,在前端中把對象的每個(gè)字段屬性給value,就可以在input框顯示要編輯的值 # book_obj = Book.objects.filter(id = id)[0] book_obj = Book.objects.filter(id = id).first() if request.method == "POST": bookname = request.POST.get('bookname') price = request.POST.get('price') Date = request.POST.get('Date') auth = request.POST.get('auth') publish = request.POST.get('publish') classification = request.POST.get('classification') #方法2 update修改并保存數(shù)據(jù) ,name 是數(shù)據(jù)庫的字段,bookname是前端form表單里 的name屬性值,把輸入框里獲取到的值給數(shù)據(jù)庫的字段進(jìn)行保存, Book.objects.filter(id = id).update(name = bookname,price = price, Date = Date, auth = auth , publish = publish, classification = classification) return redirect('/index/') return render(request,'editorbook.html',{'book_obj':book_obj})
上述內(nèi)容就是如何在django中刪除和編輯ORM,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。