Tôi muốn người dùng nhận 'điểm' để hoàn thành các tác vụ khác nhau trong ứng dụng của tôi - từ các tác vụ như gắn thẻ các đối tượng để kết bạn. Tôi chưa tìm thấy một ứng dụng Django đơn giản hóa điều này.Cơ chế trò chơi xã hội ở Django
Hiện tại, tôi nghĩ rằng cách tốt nhất để tích lũy điểm là mỗi hành động của người dùng tạo tương đương với "mục dòng" và các điểm được tính bằng cách tính giá trị của từng hành động được xuất bản lên luồng của họ.
Rõ ràng là cơ chế trò chơi xã hội là một lĩnh vực rất lớn với rất nhiều nghiên cứu đang diễn ra tại thời điểm này. Nhưng từ góc độ phát triển, cách dễ nhất để bắt đầu là gì? Tôi đang đi sai đường hay có cách nào tốt hơn/đơn giản hơn?
Edit: cho bất cứ ai muốn có một thực hiện rất đơn giản này:
Đối với bất cứ ai mà sẽ quan tâm đến việc thực hiện rất đơn giản của ý tưởng này cố gắng tạo ra một ứng dụng "đăng nhập" và đặt này trong models.py của bạn :
log_models = [Tag, Post, Vote]
class Point(models.Model):
# model fields
def increase_score(sender, instance, signal, *args, **kwargs):
# score logic
for model in log_models:
post_save.connect(increase_score, sender=model)
post_delete.connect(decrease_score, sender=model)
tham khảo doc này nếu bạn tìm post_save được phát ra hai lần: http://code.djangoproject.com/wiki/Signals#Helppost_saveseemstobeemittedtwiceforeachsave