2010-03-16 26 views
5

Tôi đang nghĩ đến việc thêm hệ thống danh tiếng vào ứng dụng web Django của mình; trang web đã được sử dụng nên tôi đang cố gắng cẩn thận về các lựa chọn của mình.Cung cấp cho người dùng một "hệ thống danh tiếng" - Tôi có nên ...?

Danh tiếng được tạo trong tất cả các hành động đóng góp cho trang web, tương tự như hệ thống của Stackoverflow.

Tôi biết có hàng triệu cách thực hiện điều này, và đây là lý do tại sao tôi cảm thấy khá lạc.

Hai lựa chọn thay thế tôi không chắc chắn về là:

  • Theo dõi các lý do tại sao danh tiếng được tăng lên
  • Bỏ qua lý do để giảm độ phức tạp của trang web và overhead

Sẽ hài lòng với một vài gợi ý và chỉ đường. Sẽ được rất nhiều đánh giá cao!

Trả lời

4

theo dõi các lý do, IMHO. Nó chắc chắn sẽ không phức tạp, và bạn không cần phải lưu trữ một lượng thông tin khổng lồ, chỉ là một datetime, giá trị điểm, lệnh, target và originator. Nếu dữ liệu được quá nhiều sau khi một số thời gian đổ DB đến một phương tiện sao lưu và xóa lịch sử.

6

Trong Django, tôi khuyên bạn nên có một thuộc tính trên mô hình Người dùng (hoặc Hồ sơ) để tính toán danh tiếng của người dùng theo yêu cầu. Sau đó, lưu trữ danh tiếng bằng khung bộ nhớ đệm của bạn và/hoặc lưu trữ vào cơ sở dữ liệu để truy xuất nhanh.

Bằng cách này, ngoài việc có hồ sơ về những gì tác động đến danh tiếng, bạn có thể thay đổi tiêu chí danh tiếng theo ý muốn.

+0

@Daniel cảm ơn bạn. Đó là một số gợi ý tốt! – RadiantHex

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