отправка приглашения онлайн-пользователям в django

Я использую http://mpcabd.igeex.biz/get-online-users-in-django/ для успешного получения списка онлайн-пользователей. Я добавляю флажки вместе с именами пользователей при отображении в шаблоне. Возможно ли, что любой онлайн-пользователь (скажем, «А») должен установить флажки в списке онлайн-пользователей и отправить приглашение выбранной группе людей? Я делаю это, потому что хочу создать группу пользователей, принявших приглашение, инициированное пользователем «А». Если да, то как мне быть дальше?

Обновление: просто забыл добавить, что пользователи получат уведомление так, как StackExchange показывает его в верхнем левом углу этого веб-сайта. Как это сделать также?


person SRC    schedule 26.03.2011    source источник


Ответы (1)


Хм, в конце этого урока у вас есть доступ к списку пользовательских моделей Python и их именам пользователей/идентификаторам.

На базовом уровне что-то вроде...

<form method="post">
{% for user in users %}
    <ul>
        <li><input type="checkbox" name="selected_users" value="{{ user.id }}"/> 
             {{ user.username }}</li>
    </ul>
{% endfor %}
<input type="submit" value="send emails" />
</form>

class UserMessage(models.Model):
     user = models.ForeignKey(User)
     message = models.TextField()

users = User.objects.filter(id__in=request.POST.getlist('selected_users'))
for user in users:
    user.usermessage_set.create(message="Hello you've been invited")

Теперь просто отобразите user.usermessage_set.all() или ограниченное подмножество для вашего stackoverflow, например, входящие (вероятно, лучше всего через ajax).

person Yuji 'Tomita' Tomita    schedule 26.03.2011
comment
Благодарю за ваш ответ. Я проверю и отвечу. Также я обновил свой вопрос и для стороны получателя. Есть ли у вас какие-либо идеи ? - person SRC; 26.03.2011
comment
Внутренняя система сообщений? Я не знаю, создать модель, скажем, с полями пользователя и сообщения? - person Yuji 'Tomita' Tomita; 26.03.2011
comment
Спасибо, по крайней мере, за то, что указали мне куда-то :-) Я никогда не работал с Ajax, но думаю, что сейчас самое время перейти к нему. Еще раз спасибо за ваше время. Скоро обновлю вас - person SRC; 27.03.2011