Tôi đang sử dụng Django DeleteView trong một mẫu và tôi đã tạo ra một url xem &. Có thể bỏ qua quá trình tải mẫu _confirm_delete và chỉ cần đăng xóa ngay lập tức.Django DeleteView không có mẫu xác nhận
Trả lời
DeleteView
trả lời yêu cầu POST
và GET
, GET
yêu cầu xác nhận hiển thị, trong khi POST
xóa cá thể.
Bạn có thể gửi POST
yêu cầu, mà không xác nhận với hình thức như thế này:
<form method="POST" action="{% url "your_delete_url_name" %}">
{% csrf_token %}<input type="submit" value="DELETE">
</form>
Nếu bạn không muốn có một liên kết thay vì nút hình thành, sử dụng một số javascript để thực hiện hình thức vô hình, mà sẽ được gửi về nhấp vào liên kết.
Nó không phải là thực hành tốt để sử dụng GET
yêu cầu cập nhật hoặc xóa, nhưng nếu bạn thực sự khẳng định bạn có thể tắt get
phương pháp theo quan điểm của lớp học của bạn để post
, ví dụ:
def get(self, *args, **kwargs):
return self.post(*args, **kwargs)
Có, chỉ cần thay đổi thông số tiếp theo. Trong phản hồi trả về của bạn, hãy đảm bảo rằng từ điển bạn truyền vào có một cái gì đó như thế này: { 'next': '/<your_path_here>}/' }
, đảm bảo bạn cam kết các thay đổi trước khi thêm tham số next
. Bạn có thể muốn thay đổi các chức năng get
và post
của chế độ xem của mình.
tôi không có bất kỳ nhận hoặc gửi quan điểm, tất cả mọi thứ tạo ra với DeleteView – yaniv14
Được rồi, tôi cũng không nghĩ rằng bạn có thể thay đổi nó mà không thay đổi 'chức năng post' của bạn, và không có cách nào để làm điều này là 1,5 (theo hiểu biết tốt nhất của tôi) xem tài liệu: https://docs.djangoproject.com/en/1.5/ref/class-based-views/flattened-index/#deleteview. Nếu bạn không biết cách sử dụng các hàm 'get()' và 'post()' bên trong các CBV, thì tôi khuyên bạn nên tìm hiểu về chúng. –
Hoặc bạn có thể xác định lại get()
phương pháp trong số DeleteView
:
class YourDeleteView(DeleteView):
model = YourModel
success_url = '<success_url>'
def get(self, request, *args, **kwargs):
return self.post(request, *args, **kwargs)
Nhưng hãy cẩn thận với điều đó, đảm bảo điều này không ảnh hưởng đến chức năng khác.
Tất cả những gì bạn phải làm là ghi đè phương thức get_success_url
của chế độ xem xóa. Sau đó, nó sẽ trực tiếp xóa đối tượng khỏi DB. Ví dụ:
class YourView(DeleteView):
model = YourModel
def get_success_url(self):
return reverse('your_redirect_view')
- 1. Django formset không xác nhận
- 2. django - form không có lỗi nhưng form.is_valid() không xác nhận
- 3. Biểu mẫu Django - Cách không xác thực?
- 4. IP bị cấm trong xác nhận biểu mẫu Django
- 5. Django - xác thực, đăng ký có xác nhận email
- 6. Xác thực mẫu Django ModelForm
- 7. Mẫu Django có chậm không?
- 8. Xác nhận mẫu Java
- 9. mẫu với CheckboxSelectMultiple không xác nhận
- 10. Xác thực mẫu Django và Custom Form
- 11. Xác nhận một con sên ở Django
- 12. Nhận loại phụ tùng biểu mẫu Django từ trong mẫu
- 13. Django xác nhận ImageField kích thước vv
- 14. Thêm Xác thực Mẫu Django Tùy chỉnh
- 15. STATIC_URL không xác định trong mẫu Django cơ sở
- 16. JQuery - Xác nhận Mẫu - Onblur
- 17. Xác nhận mẫu với NancyFX
- 18. Xác thực biểu mẫu trong django
- 19. Xác thực trường mô hình Django mà không có biểu mẫu tùy chỉnh
- 20. django xác nhận mật khẩu validator
- 21. Mã hóa Django CSRF không có biểu mẫu
- 22. Django ManyToMany mô hình xác nhận
- 23. Django TextField xác nhận max_length cho ModelForm
- 24. ASP.NET MVC - Có nút xác nhận với Biểu mẫu
- 25. Cách kiểm tra xem biến mẫu django có được xác định không?
- 26. Django - Cách nhận url quản trị từ ví dụ mẫu
- 27. AntiForgeryToken không có xác thực biểu mẫu
- 28. Logic logic có thể có trong các mẫu django không?
- 29. Django - Mẫu không hợp lệ nhưng không có lỗi
- 30. Có bộ lọc để chia cho Mẫu Django không?
Cảm ơn bạn đã làm việc tốt với phương pháp đăng bài. – yaniv14
bạn được chào đón :) – bmihelac