Implementing push notification using chrome in Django

后端 未结 2 1382
粉色の甜心
粉色の甜心 2020-12-17 06:21

I have learned to implement push notifications for a Web Application using chrome https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web?hl=en

2条回答
  •  再見小時候
    2020-12-17 07:02

    Similar to the accepted answer, but shorter:

    • Place service_worker.js in root of the template folder.
    • Add to your routings:

      from django.conf.urls import url
      from django.views.generic import TemplateView
      
      urlpatterns = [
          # Other urls
          url(r'^service_worker(.*.js)$',
              TemplateView.as_view(template_name='service_worker.js', 
                  content_type='application/x-javascript'))
          ]
      

    Update: I ended up needing to pass authentication credentials to the service_worker.js file, so this was my final route:

    url(r'^service_worker(.*.js)(?:/(?P[a-zA-Z]+)/)?', 
            TemplateView.as_view(template_name='service_worker.js', content_type='application/x-javascript'))
    

    This allows passing parameters like so: domainbase.com/service_worker.js?foo=bar...

    The javascript to then access the params is:

    var url_params = location.search.substring(1);
    console.log(url_params);
     => "foo=bar..."
    

提交回复
热议问题