问题标签 [django-notification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
34 浏览

django - Django多次重复

我正在使用 django 通知,但是当未读通知增加时,加载时间和复制时间也在增加。如何优化此代码?

0 投票
1 回答
1020 浏览

django - 如何在 django 中实现实时通知?

我已经阅读了很多关于此的博客,但无法理解。有人可以帮助我吗,比如有哪些不同的方法以及如何实现它。

0 投票
3 回答
445 浏览

django - Django 通知从前端删除 API

你能帮我谈谈 django-notification 吗???我能够实现它,但是当我调用此 API 时,使用此 API
delete/(?P\d+)/
我想提供的代替(?P\ d+)/ 的内容卡在从前端 删除

0 投票
3 回答
152 浏览

django - 如何在每个 URL 端点的每个视图上提供数据

我希望在每个 URL 端点提供相同视图的原因是视图将通知信息发送给经过身份验证的用户。
例如,这是一个视图,其中包含我希望在每个页面中提供的数据:

我正在尝试将上下文变量发送到我的模板中以与 javascript 一起使用。JS 文件与模板分开,所以我尝试先在基本模板中声明全局 JS 变量,然后在 JS 文件中使用它们。

base.html:

登陆/notifications.html:

通知.js:

基于此代码,您可以看到我是如何陷入困境的,我需要使用 CBV 将正确的通知发送到landing/notifications.html,以确保可以为 javascript 变量动态呈现JS 文件。

我对应该如何连接 URL 感到非常困惑。
像这样:

将我限制在特定的端点(“/notes”)。

你会建议我如何解决这个问题?

0 投票
2 回答
1067 浏览

django - 用于通知的 Django redis

我已经使用 Django REST 框架构建了一个REST API 。在应用程序中需要 facebook 类型的通知(新朋友请求、新消息等)。目前我正在使用长轮询处理这个问题:

  • 前端客户端发送 GET 请求
  • 我的 REST 视图搜索新对象并在有时立即返回它们,否则搜索 20 秒并在没有时返回空响应
  • 收到响应后立即发送一个新的 GET 请求(来自前端客户端)

注意:我们没有使用 websockets,如果需要请写信给我

我想用 django/redis 替换此方法,因为我认为我的长轮询方法大量滥用数据库,而且我认为 Redis 的速度和结构可以提供很大帮助。

关于如何完成这样的事情有什么建议吗?

0 投票
3 回答
399 浏览

django - 以 10 为底的 int() 的 Django 通知无效文字

django-notification用来创建通知。根据我放的文件

在我的urls.py. 我通过在我的views.py中使用它来生成一个测试通知:

我可以很容易地在这个 url 中获得未读通知的数量:

{"unread_count": 1}按我的意愿返回。但是/api/unread_list/我无法获取通知列表,并且收到此错误:

当我初学者使用django-notifications任何帮助时,将不胜感激。

全追溯

环境:

请求方式:GET 请求网址: http: //127.0.0.1 :8000/inbox/notifications/api/unread_list/

Django 版本:2.0.2 Python 版本:3.5.2 安装的应用程序:['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django .contrib.messages'、'django.contrib.staticfiles'、'django.contrib.sites'、'django.forms'、'rest_framework'、'allauth'、'allauth.account'、'allauth.socialaccount'、'guardian ','轴','django_otp','django_otp.plugins.otp_static','django_otp.plugins.otp_totp','two_factor','邀请','头像','imagekit','import_export','djmoney', '验证码','dal','dal_select2','widget_tweaks','大括号','django_tables2','phonenumber_field','hitcount','el_pagination','maintenance_mode','notifications','mathfilters','myproject_web','Order','PhotoGallery','Search','Social','UserAccount' , 'UserAuthentication', 'UserAuthorization', 'UserProfile'] 已安装的中间件:['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', ' django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_otp.middleware.OTPMiddleware', 'maintenance_mode.middleware.MaintenanceModeMiddleware']

追溯:

内部 35 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/core/handlers/exception.py”。response = get_response(request)

_get_response 128 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/core/handlers/base.py”。response = self.process_exception_by_middleware(e, request)

_get_response 126 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/core/handlers/base.py”。 response = Wrapped_callback(request, *callback_args, **callback_kwargs)

live_unread_notification_list 164 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/notifications/views.py”。如果 n.actor:

获取253中的文件“ /home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/contrib/contenttypes/fields.py”。rel_obj = ct.get_object_for_this_type(pk=pk_val)

get_object_for_this_type 169 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/contrib/contenttypes/models.py”。返回 self.model_class()._base_manager.using(self._state. db).get(**kwargs)

获取 394 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/query.py”。clone = self.filter(*args, **kwargs)

过滤器 836 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/query.py”。返回 self._filter_or_exclude(False, *args, **kwargs)

_filter_or_exclude 854 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/query.py”。clone.query.add_q(Q(*args, **kwargs) )

add_q 1253. 子句中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/sql/query.py”,_ = self._add_q(q_object, self.used_aliases )

_add_q 1277 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/sql/query.py”。 split_subq=split_subq,

build_filter 1215 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/sql/query.py”。条件 = self.build_lookup(lookups, col, value)

build_lookup 1085 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/sql/query.py”。lookup = lookup_class(lhs, rhs)

文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/lookups.py” init 18. self.rhs = self.get_prep_lookup()

get_prep_lookup 68 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/lookups.py”。返回 self.lhs.output_field.get_prep_value(self.rhs)

get_prep_value 947 中的文件“/home/saleh/Projects/myproject_web/lib/python3.5/site-packages/django/db/models/fields/init .py ”。返回 int(value)

异常类型:ValueError at /inbox/notifications/api/unread_list/ 异常值:int() 的无效文字,基数为 10:''

0 投票
2 回答
10428 浏览

django - Django - 如何实时跟踪用户是否在线/离线?

我正在考虑使用django-notifications和 Web Sockets 向 iOS/Android 和 Web 应用程序发送实时通知。所以我可能会使用Django Channels

我可以使用Django Channels实时跟踪用户的在线状态吗?如果是,那么我如何在不不断轮询服务器的情况下实现这一目标?

我正在寻找最佳实践,因为我找不到任何合适的解决方案。

更新

到目前为止我尝试过的是以下方法:使用 Django Channels,我实现了一个 WebSocket 消费者,它在连接时会将用户状态设置为'online',而当套接字断开连接时,用户状态将设置为'offline'。最初我想包括'away'状态,但我的方法无法提供那种信息。此外,当用户从多个设备使用应用程序时,我的实现将无法正常工作,因为可以在设备上关闭连接,但仍可以在另一个设备上打开;'offline'即使用户有另一个打开的连接,状态也会设置为。

注意

我当前的工作解决方案是使用带有 API 端点的 Django REST 框架,让客户端应用程序发送具有当前状态的 HTTP POST 请求。例如,Web应用程序跟踪鼠标事件,并online每x秒不断发布状态,当没有更多鼠标事件away发布状态时,当“选项卡/窗口要关闭”即将关闭时,该应用程序会发送带有状态的发布请求offline。这是一个可行的解决方案,取决于浏览器我在发送offline状态时遇到问题,但它可以工作。

我正在寻找的是一个更好的解决方案,不需要不断地轮询服务器。

0 投票
1 回答
312 浏览

django - Django 2.0 通知:如何覆盖 django-notifications 的默认 list.html 页面

所以,我最近导入了Django-notifications并成功添加了一两个通知。现在我想查看列表页面。在我的网址中,我添加了通知端点path('notifications/', include("notifications.urls")),,当我转到网址时,我得到与文档匹配的输出

现在,我该如何更改通知网址。我试图为通知创建一个应用程序python manage.py startapp notifications,但它说已经存在一个。我觉得我错过了一些简单的东西,但我不能指望它。

0 投票
1 回答
1532 浏览

django - django-notifications-hq:无法显示通知

虽然 'unread_list' API 有效,但我无法让标签{% live_notify_list list_class="dropdown-menu" %}工作。

标签定义为:

如果我错了,请纠正我,但这只会返回一个未排序的列表。我想显示所有通知。根据文档(文档),我需要做的就是使用{% live_notify_list %},但是,这不会显示任何内容。

我在github使用的库。

0 投票
0 回答
48 浏览

django - 将警报消息(数据)从一个登录用户会话发送到另一个

我有一个用例,其中用户(经理)创建任务(第一个视图),另一个登录用户(员工)可以查看创建的任务(第二个视图)。如果员工单击拒绝按钮拒绝任务,则应向经理发出警报。如何实现此功能?感谢您的任何指导。