Obtenir l'objet 'str' n'a pas d'attribut 'get' dans Django
views.py
def generate_xml(request, number):
caller_id = 'x-x-x-x'
resp = twilio.twiml.Response()
with resp.dial(callerId=caller_id) as r:
if number and re.search('[\d\(\)\- \+]+$', number):
r.number(number)
else:
r.client('test')
return str(resp)
url.py
url(r'^voice/(?P<number>\w+)$', 'django_calling.views.generate_xml', name='generating TwiML'),
Chaque fois que je fais une demande d' http://127.0.0.1:8000/voice/number?id=98
l'obtention d'erreur suivant:
Request Method: GET
Request URL: http://127.0.0.1:8000/voice/number?id=90
Django Version: 1.6.2
Exception Type: AttributeError
Exception Value: 'str' object has no attribute 'get'
Exception Location: /usr/local/lib/python2.7/dist-
Plein De Sperme:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/voice/number?id=90
Django Version: 1.6.2
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_calling',
'django_twilio',
'twilio')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
J'ai juste commencé à apprendre Django
.
source d'informationauteur user3485393
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas passer directement
str
comme undjango response
.Vous devez utiliser
si vous voulez rendre la chaîne de données de django vue de la réponse.
jetez un oeil ici
Django vues doit toujours retourner une
HttpResponse
objet, essayez donc d'habillage de la chaîne dans un HttpResponse:En outre, la
number
variable dansgenerate_xml
contiendra uniquement la chaîne'number'
pas le paramètre GET. Pour l'obtenir, vous pouvez utiliser: