Я использую Django для своего веб-приложения и адаптировал учебник @ https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/guides/securing-webhooks для работы в Python 3, однако я сталкиваюсь с этой проблемой в своих представлениях
from django.shortcuts import render
from django.http import HttpResponse, HttpRequest
import base64, hashlib, hmac, json
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.decorators.http import require_GET
@csrf_exempt
@xframe_options_exempt
def twitter_webhook(request):
msg = request.GET.get('crc_token')
msg_bytes = msg.encode()
sha256_hash_digest =
hmac.new(b'bEfpTIneaasdf876asd9f87908709asdf76789689as7dfH', msg_bytes, digestmod=hashlib.sha256).digest()
resp = 'sha256=' + str(sha256_hash_digest)
twitter_response = {
'response_token': resp
}
return json.dumps(twitter_response)
'str 'У объекта нет атрибута' xframe_options_exempt '
Используя pycharm, я шаг за шагом отлаживал свой код, и все работает нормально, возвращая соответствующий хеш до тех пор, пока он не будет обнаружен промежуточным программным обеспечением щелчка.1010 *
Request Method: GET
Request URL: http://127.0.0.1:8000/twitter?crc_token=1230983450923485
Django Version: 2.1.4
Exception Type: AttributeError
Exception Value:
'str' object has no attribute 'xframe_options_exempt'
Exception Location:
C:\Users\micha\AppData\Local\Programs\Python\Python37\lib\site-
packages\django\views\decorators\clickjacking.py in wrapped_view, line 51
Python Executable:
C:\Users\micha\AppData\Local\Programs\Python\Python37\python.exe
Python Version: 3.7.1
Python Path:
['C:\\Users\\micha\\Documents\\Projects\\sinclaire_webhooks',
'C:\\Program Files\\JetBrains\\PyCharm 2018.3.1\\helpers\\pydev',
'C:\\Users\\micha\\Documents\\Projects\\sinclaire_webhooks',
'C:\\Program Files\\JetBrains\\PyCharm '
'2018.3.1\\helpers\\third_party\\thriftpy',
'C:\\Program Files\\JetBrains\\PyCharm 2018.3.1\\helpers\\pydev',
'C:\\Users\\micha\\.PyCharm2018.3\\system\\cythonExtensions',
'C:\\Users\\micha\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
'C:\\Users\\micha\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
'C:\\Users\\micha\\AppData\\Local\\Programs\\Python\\Python37\\lib',
'C:\\Users\\micha\\AppData\\Local\\Programs\\Python\\Python37',
'C:\\Users\\micha\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site- packages',
'C:\\Program Files\\JetBrains\\PyCharm '
'2018.3.1\\helpers\\pycharm_matplotlib_backend']
Server time: Sun, 16 Dec 2018 17:58:20 +0000
Я искал и не могу найти ничего определенного, что могло бы привести меня к решению этой проблемы, и, будучи полу новичком и в python, и в django, любая помощь будет принята!