Nếu settings.py của bạn đang sử dụng messages_extends.storages.FallbackStorage
, bạn có thể tạo ra một thông điệp dai dẳng (sẽ hiển thị indefinetely cho đến khi người dùng nhấp x
), sử dụng:
import messages_extends
from messages_extends.models import Message
Message.objects.create(user=target_user, level=messages_extends.INFO_PERSISTENT, message='Hey! You will see me until you click X!')
Đây là định nghĩa cho mô hình Message
:
class Message(models.Model):
user = models.ForeignKey(User, blank=True, null=True)
message = models.TextField()
LEVEL_CHOICES = (
(messages_extends.DEBUG_PERSISTENT, 'PERSISTENT DEBUG'),
(messages_extends.INFO_PERSISTENT, 'PERSISTENT INFO'),
(messages_extends.SUCCESS_PERSISTENT, 'PERSISTENT SUCCESS'),
(messages_extends.WARNING_PERSISTENT, 'PERSISTENT WARNING'),
(messages_extends.ERROR_PERSISTENT, 'PERSISTENT ERROR'),
)
level = models.IntegerField(choices=LEVEL_CHOICES)
extra_tags = models.CharField(max_length=128)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
read = models.BooleanField(default=False)
expires = models.DateTimeField(null=True, blank=True)
Các kho lưu trữ khác có lẽ chỉ lưu trữ thông điệp trong bộ nhớ, vì vậy bạn thực sự không có nó trong tay.
Nguồn
2012-11-12 17:08:49
Cảm ơn câu trả lời. Nó sẽ được dễ dàng để viết một lưu trữ tin nhắn phụ trợ. Tuy nhiên, ràng buộc một thông báo cho người dùng và sau đó hiển thị nó khi người dùng đó trở nên trực tuyến phức tạp. Bất kỳ đề xuất? – shanyu
Đã thêm một cách tiếp cận có thể làm bản chỉnh sửa cho câu trả lời. – zlovelady
Rất hữu ích. Cảm ơn.. – shanyu