真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在django中刪除和編輯ORM-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何在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
  

  




  

    

    
      
        ID
        書名
        價(jià)格
        出版日期
        作者
        出版社
        分類
        操作
      

       {% for book in book_list %}
      

{# 在前端顯示的是數(shù)據(jù)庫的id,用forloop.counter 默認(rèn)從1開始循環(huán)顯示,與數(shù)據(jù)庫的id無關(guān),   {{ book.id }}#}
          {{ forloop.counter }}--------------------按照順序顯示,
          {{ book.name }}
          {{ book.price }}
          {{ book.Date }}
          {{ book.auth }}
          {{ book.publish }}
          {{ book.classification }}
          
{#            當(dāng)前的ip和端口都可以省略,會(huì)自動(dòng)添加,a標(biāo)簽會(huì)訪問addbook路徑#}
             添加
{#             在get請求時(shí),url加上刪除時(shí)點(diǎn)擊到的id,獲取id,就可以刪除#}
             刪除
{#             取到路徑,#}
            編輯
          d

      
      {% endfor %}
    
  
    

在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ù)#}
       -----------加上從數(shù)據(jù)庫里拿到的id號(hào),

{#      當(dāng)點(diǎn)擊添加按鈕時(shí),是執(zhí)行視圖函數(shù),在數(shù)據(jù)庫中添加一條記錄,然后再把這個(gè)記錄添加到index頁面#}

      
        書名:
        
      
      
        價(jià)格:
        
      
      
        日期:
        
      
      
        作者:
        
      

      
        出版社:
        
      

      
        分類:
        
      

      

      
    
  






在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)用場景需求。


網(wǎng)頁題目:如何在django中刪除和編輯ORM-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://weahome.cn/article/gdhhd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部