Xóa Hồ Sơ
Để xóa bản ghi, chúng ta không cần mẫu mới, nhưng chúng ta cần thực hiện một số thay đổi đối với mẫu thành viên.
Tất nhiên, bạn có thể chọn cách bạn muốn thêm nút xóa, nhưng trong ví dụ này, chúng tôi sẽ thêm liên kết “xóa” cho mỗi bản ghi trong cột bảng mới.
Liên kết “xóa” cũng sẽ chứa ID của mỗi bản ghi.
Sửa Đổi Mẫu
Thêm cột “xóa” trong mẫu thành viên:
members/templates/index.html:
<h1>Members</h1> <table border="1"> {% for x in mymembers %} <tr> <td>{{ x.id }}</td> <td>{{ x.firstname }}</td> <td>{{ x.lastname }}</td> <td><a href="delete/{{ x.id }}">delete</a></td> </tr> {% endfor %} </table> <p> <a href="add/">Add member</a> </p>
Kết quả sẽ như thế này:
URLs
Liên kết “xóa” trong bảng HTML trỏ đến 127.0.0.1:8000/members/delete/ vì vậy chúng tôi sẽ thêm một hàm path () trong tệp members/ urls.py, trỏ url đến đúng vị trí, với ID dưới dạng tham số:
members/urls.py:
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('add/', views.add, name='add'), path('add/addrecord/', views.addrecord, name='addrecord'), path('delete/<int:id>', views.delete, name='delete'), ]
Mã Xóa Bản Ghi
Bây giờ chúng ta cần thêm một chế độ xem mới có tên là delete trong tệp members/ views.py:
members/views.py:
from django.http import HttpResponse, HttpResponseRedirect from django.template import loader from django.urls import reverse from .models import Members def index(request): mymembers = Members.objects.all().values() template = loader.get_template('index.html') context = { 'mymembers': mymembers, } return HttpResponse(template.render(context, request)) def add(request): template = loader.get_template('add.html') return HttpResponse(template.render({}, request)) def addrecord(request): x = request.POST['first'] y = request.POST['last'] member = Members(firstname=x, lastname=y) member.save() return HttpResponseRedirect(reverse('index')) def delete(request, id): member = Members.objects.get(id=id) member.delete() return HttpResponseRedirect(reverse('index'))
Chế độ xem xóa thực hiện như sau:
- Lấy id làm đối số.
- Sử dụng id để định vị bản ghi chính xác trong bảng Thành viên.
- Xóa bản ghi đó.
- Chuyển hướng người dùng trở lại chế độ xem index.
Nhấp vào liên kết “xóa” cho Jane Doe và xem kết quả:
0 / 5 - (0 Đánh Giá)