2009-07-15 22 views
5

Tôi chưa sử dụng Django quá lâu, nhưng tôi sắp bắt đầu một dự án khá lớn. Tôi luôn lo lắng khi sử dụng các khung công tác khá mới (đối với tôi) về các dự án lớn bởi vì trước đây tôi đã bị đốt cháy. Tuy nhiên, tôi khá tự tin trong Django ... điều này cuối cùng sẽ là dự án mà làm cho tôi nhảy từ khuôn khổ PHP nhà phát triển của tôi đến một khuôn khổ Python phổ biến. (yay!)Có đáng sử dụng công cụ quản trị Django tích hợp cho một dự án có kích thước không?

Dù sao, câu hỏi của tôi là quản trị viên Django tích hợp có đủ mạnh để sử dụng cho giao diện khách hàng chính thức không (không phải tôi). Tôi thấy rằng nó khá tùy biến, nhưng tôi tự hỏi nếu đủ mở rộng để xử lý các trường hợp không chuẩn khác nhau. Tôi chưa có bất kỳ ví dụ cụ thể nào kể từ khi tôi chưa bắt đầu.

Có ai đã sử dụng quản trị viên Django cho một số giao diện đẹp được tùy chỉnh mà người dùng không lập trình sử dụng không? Nó có đáng không? Bạn có muốn tạo một giao diện quản trị nội bộ dành riêng cho trang web không?

Chỉ cần làm rõ, người dùng sẽ hoàn toàn không phải là công nghệ cao.

Trả lời

4

Nếu tôi hiểu chính xác, bạn muốn sử dụng quản trị django cho tất cả người dùng, để cho phép họ cập nhật trang web.
Nếu điều này là đúng, tôi nghĩ bạn có thể sử dụng nó theo một cách khác từ là gì mục đích chính của nó, như bạn có thể nhận được từ các Django book (nhấn mạnh là của tôi):

Đối với một lớp nhất định của Web các trang web, giao diện quản trị là một phần thiết yếu của cơ sở hạ tầng.Đây là giao diện dựa trên web, được giới hạn ở quản trị viên trang web đáng tin cậy, rằng cho phép thêm, chỉnh sửa và xóa nội dung trang web.

Nếu người dùng của bạn cần cập nhật nội dung (như, giả sử, thêm bài viết mới) thì có thể OK.
Nhưng nếu bạn muốn sử dụng nó cho bất kỳ tương tác trang web nào, thì tôi nghĩ trải nghiệm người dùng sẽ không tốt.

Tôi nghĩ rằng một ví dụ rất hay về cách quản trị viên có thể được sử dụng và khi nào không được sử dụng trong ReviewBoard: ở đó, hầu hết các hành động của người dùng được xử lý trực tiếp bởi trang web và chỉ cấu hình và quản lý được xử lý bằng quản trị viên.

Cuối cùng, đó là vấn đề của khả năng sử dụng. Nếu bạn nghĩ rằng ứng dụng của bạn có một phần khác để quản lý việc bổ sung cho trang web thì trang web quản trị của Django có thể là trình tiết kiệm thời gian thực. Trong mọi trường hợp khác, có lẽ tốt hơn là đầu tư thêm thời gian nữa.

+0

Tôi nghĩ bạn đánh vào đầu bằng dấu trích dẫn từ sách Django. Tôi đoán tôi đã suy nghĩ về morphing admin vào một cái gì đó nó không thực sự được thiết kế để làm. Điều đó có lẽ sẽ dẫn đến rắc rối xuống đường. –

3

Công ty của tôi đã xây dựng CMS trên đầu Django xử lý nhiều tác vụ (trang phẳng, blog, phần chỉ dành cho thành viên, nhập và phân tích dữ liệu từ các trang bên ngoài như youtube và flickr, danh sách gửi thư, bài hát và lời bài hát cho nghệ sĩ , vv) và cho đến nay chúng tôi vẫn đang sử dụng quản trị viên tích hợp sẵn. Chúng tôi có một số khách hàng rất phi kỹ thuật sử dụng nó thường xuyên.

Bạn có thể đi khá xa trong việc tùy chỉnh nó bằng các tệp admin.py khi bạn thực sự truy cập vào nó. Điều duy nhất chúng tôi đã thêm là tinyMCE và Filebrowser để làm cho những khía cạnh đó dễ dàng hơn cho người dùng cuối.

Tôi sẽ nói rằng chúng tôi đang làm việc trên mô-đun thư viện rằng sẽ cần quản trị viên tùy chỉnh. Nếu không tôi đã khá hạnh phúc và ấn tượng với cách quản trị của Django linh hoạt và mạnh mẽ có thể được. Và nó thân thiện với người dùng như bạn có thể nghĩ để tạo ra nó.

+0

Bạn có nghĩ rằng bạn sẽ gặp phải bất kỳ sự cố khi tạo một bộ phận quản trị tùy chỉnh mà ít nhất trông giống như phần còn lại của quản trị viên? –

+1

Làm cho nó trông giống như phần còn lại, không. Chỉ cần cho phép biểu định kiểu quản trị thực hiện công việc của mình và đảm bảo thêm các lớp thích hợp nên chú ý đến điều đó. Chúng tôi quan tâm nhiều hơn đến cách thiết kế giao diện cho một số phần phức tạp hơn như sắp xếp lại và thu nhỏ. –

2

Điều đó tùy thuộc. Quản trị viên sẽ cho phép bạn tùy chỉnh một chút, với các nhóm người dùng khác nhau có quyền truy cập vào các bảng khác nhau và nếu bạn cấp cho họ quyền truy cập vào các giao diện quản trị khác nhau, bạn thậm chí có thể cung cấp cho họ các nhóm cột khác nhau có sẵn trên các bảng. Tuy nhiên, quản trị viên không thực sự được thiết lập để cho phép bạn giới hạn quyền truy cập cấp độ của người dùng dựa trên cấp độ ủy quyền của họ. Một khi bạn đã cho họ vào một bảng, họ có thể thay đổi bất kỳ đối tượng có sẵn cho họ.

Bạn có thể tùy chỉnh các widget tuy nhiên bạn thích bằng cách subclassing loại phụ tùng (mặc dù được xây dựng trong filter_horizontal và raw_id_admin không thể thiếu và làm cho nhiệm vụ này đơn giản với nhiều loại dữ liệu nhất định!)

Vì vậy, tôi đoán nó phụ thuộc vào những gì bạn có ý nghĩa của khách hàng. Nếu bạn có nghĩa là những người thuê bạn để viết trang web (tôi nghĩ rằng tôi muốn gọi họ là khách hàng chứ không phải là khách hàng), sau đó có một cơ hội tốt các admin sẽ phù hợp với bạn tốt. Nếu bạn có nghĩa là người dùng cuối của một trang web, tôi sẽ gắn bó với các biểu mẫu django thủ công.

+0

Tôi đoán về mặt kỹ thuật "khách hàng" sẽ là khách hàng và khách hàng ... có nghĩa là những người thuê tôi có thể quản lý người dùng, nhưng bản thân người dùng sẽ rất phi kỹ thuật và chỉ có thể quản lý một số phần nhất định. –

+0

Tôi vừa thử filter_horizontal trên trang web thực hành của mình ... rất hay! Mẹo tốt! –

2

Nói chung tôi xem quản trị Django là giao diện để thực hiện các tác vụ tẻ nhạt của việc xóa xóa và chỉnh sửa. Vì vậy, tôi không sợ tùy biến nó đến một mức độ lớn (ngay cả khi điều này có nghĩa là phân lớp các đối tượng Django nội bộ và chuyển chúng trở lại giao diện quản trị lúc chạy), nhưng lưu ý nó sẽ yêu cầu bạn đọc nguồn Django (may mắn là không rất khó làm). Vì vậy, đối với tôi, người phân biệt sử dụng nó hay không là "chèn, xóa, cập nhật" các khái niệm ánh xạ rất tốt đến các bảng cơ sở dữ liệu, không phải số lượng kiến ​​thức kỹ thuật của người dùng, số tiền tôi tin tưởng người dùng hoặc kích thước dự án .

+0

Đó là một cách suy nghĩ rất tốt về nó. Khi tôi thiết kế trang web sẽ hoạt động như thế nào, tôi sẽ phải xem nó có phù hợp với mô hình đó hay không. –

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