2009-06-24 36 views
9

Tôi hiện đang phát triển một dự án Blog bằng cách sử dụng Mô hình bài đăng, sẽ được nhiều tác giả sử dụng.Django: Cách tốt nhất để triển khai CRUD bên ngoài contrib.admin

Tôi muốn tạo giao diện quản trị/bảng điều khiển nơi mỗi tác giả của Bài đăng có thể xem danh sách Bài đăng mà tác giả đã tạo (vì vậy anh ấy sẽ không thấy Bài đăng do các tác giả khác tạo), chỉnh sửa và nhiều xóa chúng.

Valid use case for django admin? nói rằng:

các admin Django không phù hợp cho hồ sơ người dùng cá nhân, mỗi người dùng sẽ có thể để xem và chỉnh sửa, tất cả hồ sơ người dùng khác. Điều này phù hợp với nhiều hơn đối với quản trị viên phải quản lý tất cả người dùng cùng một lúc.

Điều đó có nghĩa là một hệ thống CRUD mới sẽ được tạo - bên ngoài giao diện contrib.admin. Vì vậy, câu hỏi đặt ra là, có bất kỳ kỹ thuật/cách nào hiện có để thực hiện CRUD bên ngoài hệ thống contrib.admin không? hoặc, tôi cần nghiên cứu/sử dụng những gì? làm thế nào tôi có thể thực hiện nó độc đáo (nỗ lực tối thiểu)?

Cảm ơn trước :)

Trả lời

9

Điều này khá dễ thực hiện bằng cách tinh chỉnh quản trị viên Django. Nếu đây là lý do duy nhất để từ bỏ contrib.admin thì bạn có thể muốn google cho một số bài viết gần đây về tùy chỉnh quản trị viên trước khi bạn tiếp tục và ném em bé ra với nước tắm.

Tôi tìm thấy một vài ứng cử viên có khả năng:

và nói chung: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html

(lưu ý rằng có một kỹ thuật cũ mà sử dụng một chủ đề địa phương Điều này là không cần thiết nữa vì có những cách tốt hơn để làm điều này. Một đề cập đến điều này là một dấu hiệu chắc chắn cle đã lỗi thời.)

+0

Cảm ơn Andy! Đây chỉ là những gì tôi đang tìm :) Cả bạn và Harper đã cung cấp cho tôi câu trả lời tuyệt vời :) Tôi sẽ cố gắng chơi với bộ truy vấn quản trị sau đó. Điều cuối cùng khiến tôi bối rối bây giờ là xóa nhiều trong CRUD quản trị. Nhưng tôi đoán đó sẽ là một câu chuyện khác, heheh. Cảm ơn! –

+0

Nhiều hành động xóa và hàng loạt khác đang đến với Django 1.1 –

10

Bạn sẽ muốn xem Django generic create/update forms. Nó không phải là quản trị viên, nhưng nó khá dễ thực hiện.

+0

cảm ơn! Tôi sẽ thử nghiệm với điều đó :) –

0

Trong Django 1.3, "chế độ xem chung" (dạng CRUD) đã thay đổi thành lớp. Xem here.

Các vấn đề liên quan