2017-05-18 3 views
1

私は、アップデートビューでユーザを更新するたびに、ユーザの詳細を含む他のビューに変更通知が表示されるように、このアプリケーションをビルドします。PusherBadRequest不明Auth_Key

私はPusherBadRequest Unknown Auth_Keyを取得していますが、すべての設定はsettings.pyで確認できます。

Settings.py

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'users', 
    'pusherable' 
] 

PUSHER_APP_ID = "340365" 
PUSHER_KEY = "bbc35fac8ee3918e0048" 
PUSHER_SECRET = "[REDACTED]" 


pusher_client = pusher.Pusher(
    app_id=PUSHER_APP_ID, 
    key=PUSHER_KEY, 
    secret=PUSHER_SECRET, 
    cluster='us2', 
    ssl=True 
) 

Models.py

from django.db import models 


    class Users(models.Model): 
     GENDER_CHOICES = (
      ('M', 'Male'), 
      ('F', 'Female'), 
     ) 

     RELATIONSHIP_STATUS = (
      ('Single', 'solteiro'), 
      ('Engaged', 'engaged'), 
     ) 

     name = models.CharField(max_length=200) 
     sex = models.CharField(max_length=1, choices=GENDER_CHOICES) 
     Birth_Date = models.DateTimeField('Data de Nascimento') 
     Relationship_Status = models.CharField(max_length=20, choices= RELATIONSHIP_STATUS) 

     def __str__(self): 
      return self.name 

Views.py

from django.shortcuts import render 
from django.urls import reverse 
from django.views import generic 
from.models import Users 
from .forms import UpdateUser 
from pusherable.mixins import PusherDetailMixin, PusherUpdateMixin 


class User(PusherDetailMixin, generic.DetailView): 
    model = Users 
    template_name = "Users.html" 


class UsersUpdate(PusherUpdateMixin, generic.UpdateView): 
    model = Users 
    form_class = UpdateUsers 
    template_name = "UpdateUsers.html" 

    def get_success_url(self): 
     return reverse('users', kwargs={'pk': self.object.pk}) 

テンプレート

Users.html

{% load pusherable_tags %} 
{% pusherable_script %} 
{% pusherable_subscribe 'update' object %} 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 

    <script> 
    function pusherable_notify(event, data) { 
     alert(data.user + "has begun to " + event + " " + data.model); 
    } 
</script> 

</head> 
<body> 
Name: {{ object.name }} <br> 
Sex: {{ object.sex }} <br> 
Relationship: {{ object.Relationship_Status }} 
</body> 
</html> 

UpdateUsers.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
</head> 
<body> 

<form action="" method="post">{% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Update" /> 
</form> 

</body> 
</html> 
+1

ちなみに、私はあなたの秘密を書き換えました。なぜなら、その文字列はあなたのためにメッセージを送ることができるからです。あなたはhttps://dashboard.pusher.com/apps/340365/keysで新しいトークンを作成することができます – jameshfisher

答えて

1

これはdjango-pusherableライブラリはプッシャークラスタを認識していないためである、とあなたのアプリを設定しますmt1 cluを使用するスターあなたのアプリはあなたのアプリについて知らないus2クラスターにあります。

これはdjango-pusherableのバグです。すぐに修正させていただきます。私たちが修正をリリースしたときに私はあなたに戻ってきます。 (私はプッシャーのために働いています!)

+0

これは本当に問題でした。 – Goun2

+0

@ Goun2問題はありません。私たちはここで修正を行っています。https://github.com/pusher/django-pusherable/pull/10 – jameshfisher

+0

クラスタをmt1に変更しましたが、うまくいきましたが、通知はしません。私が更新すると表示され、もう一度私を助けるために時間を取ってくれてありがとう。 – Goun2