[英]Django test post in localhost AttributeError
我有一個test.py文件,應該將POST請求發送到我的LocalHost站點(如果LH對此不起作用,我也可以在test.domain.com上進行測試)。 但是,我沒有在數據庫中保存任何新信息。 我以前使用GET進行過嘗試,並且效果很好。
CMD中的錯誤消息:
webhook用戶中的文件“ C:\\ Users \\ winkl \\ Desktop \\ VE \\ mysite \\ payment \\ views.py”,第36行= User.objects.POST(id = request.POST('clientAccnum'))AttributeError:'UserManager '對象沒有屬性'POST'
views.py
@csrf_exempt
def webhook(request):
template_name = 'payment/index.html'
hook = Webhook()
#ERROR MESSAGE FOR LINE BELOW
user = User.objects.POST(id=request.POST('clientAccnum'))
hook.user = user
hook.clientSubacc = request.POST('clientSubacc')
hook.eventType = request.POST('eventType')
hook.eventGroupType = request.POST('eventGroupType')
hook.subscriptionId = request.POST('subscriptionId')
hook.timestamp = request.POST('timestamp')
hook.timestamplocal = timezone.now()
hook.save()
user = User.objects.POST(id=request.POST('clientAccnum'))
hook.user = user
hook.user.profile.account_paid = hook.eventType == 'RenewalSuccess'
hook.user.profile.save()
print (hook.user, hook.clientSubacc, hook.timestamplocal)
return render(request, template_name)
tests.py
from django.test import TestCase
import requests
import json
url = 'http://127.0.0.1:8000/payment/webhook/'
data = {'user':'11',
'clientSubacc': '1111',
'eventType': 'RenewalSuccess',
'eventGroupType': 'Success',
'subscriptionId': '12345'}
r = requests.post(url, (data))
目標是讓此測試帖子創建成功的Webhook,並將其保存在我的數據庫中。 此信息將更新我的用戶帳戶狀態。
您在重構或輸入錯誤時輸入錯誤。 嘗試使用
user = User.objects.get(id=request.POST.get('clientAccnum'))
獲得請求的用戶
這個答案使我更加接近,但沒有100%解決問題。
打印整個帖子而不是僅打印用戶也更好。 幫助我實現了第二個問題。
永遠被困在這個! 謝謝您的幫助。 您使我更進一步,將我引向了其余步驟。
def webhook(request):
template_name = 'payment/index.html'
#print(request.POST.get('clientAccnum'))
print(request.POST)
hook = Webhook()
user = User.objects.get(id=request.POST.get('clientAccnum'))
#user = User.objects.get(id=request.POST.get('user'))
#hook.user = request.GET.get('clientAccnum')
hook.user = user
hook.clientSubacc = request.POST.get('clientSubacc')
hook.eventType = request.POST.get('eventType')
hook.eventGroupType = request.POST.get('eventGroupType')
hook.subscriptionId = request.POST.get('subscriptionId')
hook.timestamp = request.POST.get('timestamp')
hook.timestamplocal = timezone.now()
hook.save()
user = User.objects.get(id=request.POST.get('clientAccnum'))
hook.user = user
hook.user.profile.account_paid = hook.eventType == 'RenewalSuccess'
hook.user.profile.save()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.