iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0
Modern Web

使用 Django 開發網頁系統系列 第 15

[Day 15] 刪除資料

今天來聊 刪除資料 了

UI部分,在每個category後面加個 刪除 按鈕

url (post): http://localhost:8000/store/categoryDelete/1/
route 需要 id 參數 才知道 刪除哪一筆資料

store/urls.py

...
    path('categoryDelete/<int:id>/', views.categoryDelete, name='categoryDelete')
...

{% url '' <parm> %} 第二個參數就是 對應到route id

store/templates/store/category.html

...
        <td>
          <form method="post" action="{% url 'store:categoryDelete' category.id %}">
            {% csrf_token %}
            <a href="{% url 'store:categoryDelete' category.id %}">
              <input type="submit" value="刪除">
            </a>
          </form>
        </td>
...

funcName(request, id) id 對應到route
<model>.objects.get(id=id) 抓一筆資料,回傳一個物件
<modelForm>(instance=<model>) 塞那筆資料的所有欄位,在html 就會帶入了

store/views.py

def categoryDelete(request, id):
    category = get_object_or_404(Category, id=id)
    if request.method == 'POST':
        category.delete()
        messages.success(request, '刪除成功')
    return redirect(reverse('store:category'))

這樣就完成了


上一篇
[Day 15] 修改資料
下一篇
[Day 16] 讀取資料
系列文
使用 Django 開發網頁系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言