<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Django Blog | 11 添加Django博客刪除功能(基礎(chǔ)版)

          共 2831字,需瀏覽 6分鐘

           ·

          2021-12-17 01:23

          ??????關(guān)注我,和老表一起學(xué)Python、云服務(wù)器

          作者:老表
          來源:簡說Python

          大家好,我是老表,這個(gè)系列將會(huì)更新我編寫,項(xiàng)目的學(xué)習(xí)筆記,也是后面更新的一個(gè)重點(diǎn),希望個(gè)人博客頁面可以早點(diǎn)和大家見面~歡迎大家點(diǎn)贊、留言支持。

          添加Django博客刪除功能

          一、前情回顧

          在前面,我們完成了Django Blog博客markdown發(fā)布編輯頁面優(yōu)化,以及博客編輯功能實(shí)現(xiàn),順帶還優(yōu)化了博客詳情頁。

          今天我們一起來實(shí)現(xiàn)下Django Blog的文章刪除功能。

          Django Blog系列文章

          Django Blog|01 創(chuàng)建環(huán)境和項(xiàng)目

          Django Blog|02 創(chuàng)建admin賬戶&settings.py介紹

          Django Blog|03 創(chuàng)建一個(gè)blog app和Article模型

          Django Blog|04 創(chuàng)建blog視圖和完成MVT框架開發(fā)

          Django Blog|05 修改首頁顯示博客列表

          Django Blog|06 添加博客詳情頁視圖,顯示博客詳情

          Django Blog|07 引入Bootstrap前端框架,優(yōu)化頁面

          Django Blog|08 添加編寫+發(fā)布博客功能

          Django Blog | 09 這么簡單!實(shí)現(xiàn)博客markdown輸入和顯示

          Django Blog | 10 自定義Form,美化頁面并實(shí)現(xiàn)文章編輯功能

          二、博客文章刪除功能實(shí)現(xiàn)

          在完成了文章的發(fā)布和編輯功能后,再來寫文章刪除功能,就非常好實(shí)現(xiàn)了,根據(jù)Django開發(fā)MVT框架,文章刪除功能還是只和文章有關(guān)系,所以我們不用新增或者修改模型,直接進(jìn)入/Project/brief_blog/myblog/blog/views.py中新建一個(gè)DeleteArticleView類,該類繼承自django自帶的通用視圖類DeleteView,可以很簡單的實(shí)習(xí)對(duì)象刪除操作,新增代碼如下:

          from?django.views.generic?import?ListView,?DetailView,?CreateView,?UpdateView,?DeleteView

          ...和之前代碼一樣

          #?刪除博客
          class?DeleteArticleView(DeleteView):
          ????model?=?Article
          ????template_name?=?'article_delete.html'

          如果和之前開發(fā)博客編輯一樣,我們接下來直接進(jìn)入/Project/brief_blog/myblog/templates中新建文章刪除頁面模板article_delete.html,并輸入如下內(nèi)容即可:

          {%?extends?'base.html'?%}

          {%?block?title?%}
          ????老表愛技術(shù)-刪除博客
          {%?endblock?%}

          {%?block?content?%}

          <form?method="POST"?>
          ????
          ????
          ????{%?csrf_token?%}
          ????<h3?class="col-12?mt-4?mb-4">你正在刪除文章:<font?color="red">《{{article.title}}》font>h3>
          ????文章摘要:
          ????<h5?style="margin-top:?10px;margin-bottom:?10px;padding:?10px;outline:?0px;font-size:?14px;white-space:?normal;text-align:?left;color:?rgb(62,?62,?62);background-color:?rgb(248,?248,?248);border-radius:?3px;line-height:?2;word-break:?break-all?!important;letter-spacing:?1px?!important;word-spacing:?1px?!important;">
          ????????{{article.summary}}
          ????h5>
          ????確認(rèn)立即刪除嗎?
          ????<br>
          ????<button?type="submit"?class="btn?btn-primary?mt-4?mb-4">刪除button>?
          ????<a?class="btn?btn-primary?mt-4?mb-4"?href="{%?url?'detial_article'?article.pk?%}">返回a>?
          form>


          {%?endblock?%}

          這相當(dāng)于我們新建了一個(gè)文章刪除頁面,創(chuàng)建好模板,接下來還需要給新建視圖添加路由,我們進(jìn)入到/Project/brief_blog/myblog/blog/urls.py,然后添加上DeleteArticleView的路由:

          from?django.urls?import?path
          from?blog?import?views

          urlpatterns?=?[
          ????#?第一個(gè)參數(shù):路由地址
          ????#?第二個(gè)參數(shù):視圖函數(shù),直接通過views調(diào)用即可,要加上as_view
          ????#?第三個(gè)參數(shù):路由名
          ????path('',?views.HomeView.as_view(),?name='home'),
          ????#??pk表示文章的編號(hào),系統(tǒng)自帶的主鍵
          ????path('article/',?views.ArticleDetailView.as_view(),?name='detial_article'),
          ????path('add_article',?views.AddArticleView.as_view(),?name='add_article'),
          ????path('article/edit/',?views.EditArticleView.as_view(),?name='edit_article'),
          ????path('article/delete/',?views.DeleteArticleView.as_view(),?name='delete_article'),
          ]

          接下來,我們還需將刪除按鈕配置在前端頁面上,按我理解,編輯和刪除按鈕應(yīng)該在同一個(gè)頁面(文章詳情頁),不過我看大部分博客社區(qū)都沒有把刪除按鈕放在文章詳情頁,而是有一個(gè)專門的文章管理頁面(我們后面也寫一個(gè)),現(xiàn)在我先將其放到文章詳情頁吧,我們直接修改下/Project/brief_blog/myblog/templates/article_detial.html即可,

          ...和之前一樣

          {%?block?content?%}
          <div?class="row">
          ????
          ????<h1?class="col-12?mt-4?mb-4">{{?article.title?}}h1>
          ????<div?class="col-12?mt-4?mb-4">
          ????????作者:{{ article.author }}?
          ????????<a?href="{%?url?'edit_article'?article.pk?%}"?style="text-decoration:none;font-size:?12px;text-align:?right;float:right;color:?rgb(93,?89,?89)">
          ????????????|  編輯
          ????????a>
          ????????
          ????????<a?href="{%?url?'delete_article'?article.pk?%}"?style="text-decoration:none;font-size:?12px;text-align:?right;float:right;color:?rgb(93,?89,?89)">
          ????????????刪除  
          ????????a>
          ????div>
          ????
          ????<h5?style="margin-top:?10px;margin-bottom:?10px;padding:?10px;outline:?0px;font-size:?14px;white-space:?normal;text-align:?left;color:?rgb(62,?62,?62);background-color:?rgb(248,?248,?248);border-radius:?3px;line-height:?2;word-break:?break-all?!important;letter-spacing:?1px?!important;word-spacing:?1px?!important;">
          ????????{{article.summary}}
          ????h5>
          div>

          <div?id="content">
          ????<textarea>{{article.content}}textarea>
          div>


          <script?src="{%?static?'mdeditor/js/jquery.min.js'?%}">script>
          ...和以前一樣
          效果演示

          本文為付費(fèi)專欄,每周更新1-2篇,利用Django帶大家一起實(shí)現(xiàn)個(gè)人博客,最后也會(huì)上線。

          如果是對(duì)Django感興趣的初學(xué)者可以購買,如果你對(duì)Django已經(jīng)有所了解了,那我不建議你付費(fèi),你可以選擇后面你感興趣的、更深層次的章節(jié)進(jìn)行付費(fèi),如果需要的話。

          閱讀到這里的都是真想學(xué)習(xí)Django的學(xué)習(xí)者,我為大家準(zhǔn)備了一個(gè)Django學(xué)習(xí)交流群(付費(fèi),9.9元/年,每增加10人,漲價(jià)10元),加入方式如下:

          給本文留言,然后大家掃下方二維碼,添加我微信,發(fā)送9.9元紅包+留言截圖即可加入:


          掃碼即可加我微信

          老表朋友圈經(jīng)常有贈(zèng)書/紅包福利活動(dòng)

          踩坑

          1、今天突然新建文章和編輯文章時(shí)會(huì)發(fā)生下面錯(cuò)誤NoReverseMatch

          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美精品成人一区二区三区四区 | 天堂av影院 | 国产se视频 | 中文字幕成人在线观看 | 五月婷婷麻豆 |