用于创建可在通知列表中向用户显示的事件的通用应用程序。

django-object-events的Python项目详细描述


django object events
===
===


generic app,用于创建可以在
通知列表中显示给用户的事件。

你有各种各样的事件:

*用户好友/不好友用户
*用户发布状态更新
*用户喜欢的东西

所有这些事情都发生在用户身上,并且发生在
数据库中的某个对象上(他的个人资料、Facebook页面等)。

n
对不同的表进行排序,然后根据日期对它们进行排序,这可能是通过django orm以一种高效的方式无法解决的问题。

对于django对象事件,您可以发出任何类型的事件,并将其放入
对象事件表中。它有一个指向所选用户的外键,还有两个通用外键:一个用于引发事件的对象,另一个用于事件所涉及的对象。

在上面的示例中,事件所涉及的对象将分别是
comment对象或highscore对象。这使您有机会使用"获取绝对URL"方法呈现指向该对象的链接。

来自pypi的ase::

$pip install django object events


从github获取最新提交::

$pip install-e git://github.com/bitmazk/django object events.git'egg=object'events

将应用程序添加到"已安装的应用程序"中::

installed'u apps=[

"object events",
]

包括应用程序的URL:

URL(r'^notifications/',include('object_event s.urls'),

吃设置或东西。简单地使用它,它是直观的=)

基本上它是关于添加正确的模板标记::

{%load object_events_tag s%}
{%render_notifications 3%}


然后创建一些事件。您可能希望在
视图、窗体或通过信号创建通知。例如:

@receiver(comment庠was庠posted)
def comment庠was庠posted庠signal庠handler(sender,comment,request,**kwargs):
"为新注释创建通知。"
object event.create庠event(
user=comment.user,event庠type="comment",
content庠object=comment,
event_content_object=comment.content_object,
其他_text=('(comment posted)',



),))
from_email=admins[0][1]


mailer_email_email_email_backend='django_libs.test_email_backend.email backbackend'
test_email_backend_recipipiens=admins

email_host='smsmtp.gmailmail.com'
email_host_user=from_email
email
email_host_host_password="您的密码"

email-port=587



来自_Email=from_email
server_email=from_email
email_use_tls=true

毫微秒。为此,请看下面的"对象事件用户聚合类"设置。
如果您已经创建或即将创建一个自定义配置文件
模型,该模型带有django用户模型的键和一个interval字段,该字段提供
这四个选项(实时、每日、每周、每月),您可以很容易地使用我们的
预定义类`` object\events.model s.useraggregation`。

将此配置文件用作常规用户配置文件(请参阅设置身份验证配置文件模块)。

手动:

./manage.py使用cronjobs实时发送事件电子邮件,例如:

。代码块::bash

***$home/webapps/$django_app_name/myproject/manage.py send_event_emails realtime>;$home/mylogs/cron/send_event_emails.log 2>;&;1

嗯,cronjobs?如果你对服务器有一定的了解,请连接到你的服务器并键入
``editor=nano crontab-e`.


whatever,也许你想先手动尝试一下。
现在你可以自由地使用这个应用程序,比如将它附加到你的项目中,然后通过post-save信号将模型连接到它。不管你做什么,都要玩得开心!

电子邮件翻译
++++++++++++++++++++例如:

…代码块::python

language=models.charfield(
最大长度=10,
choices=settings.languages,
verbose\u name=\uu('language'),
默认值=settings.languages[0][0],


与ajax函数一起使用使用
ajax可以很容易地使用诸如single_mark和bulk_mark之类的基本功能。只需将以下文件添加到base.html中即可。

<;link rel="stylesheet"type="text/css"href="{%static"对象事件/css/object_events.css"%}">;
<;script type="text/javascript" src="{%static"对象事件/js/object_events.js"%}">;

css a并且js文件已经导入到objectevent\u list.html
模板中。

te custom函数用于聚合所有用户,
,应通知这些用户。因此,您可以创建一个用户配置文件,其中
包含一个间隔或rrule设置。

只要确保使用基类object-events.models.useraggregationbase`.


对于Django的用户模型。



身份验证配置文件模块
++++++++++++++++++++++++++此django设置将自定义
模型连接到django的用户模型。正如您在上面的设置
object_events_user_aggregation_类中看到的,您必须根据间隔首选项提供user
querysets。因此,创建一个自定义模型,它看起来像我们的测试应用程序中使用基本聚合类的模型。

def get_preferred_email(self):
如果是self.email:
返回self.email
返回self.user.email



++++++++++++++++++++++++++++++

默认值:30

要在"通知列表"视图中显示的通知量。



路线图
----


有关当前和即将推出的功能,请参阅问题跟踪程序。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像