Я пытаюсь отправить данные POST из скрипта Python в URL. Вот код:
def createperson(self,name=None):
SERVER_BASE_ADDR = 'http://localhost:8000/'
postdata = urllib.urlencode({'name':name})
req = urllib2.Request(SERVER_BASE_ADDR + 'people/add')
fd = urllib2.urlopen(req,postdata)
return name
Но это возвращает
HTTPError: HTTP Error 500: INTERNAL SERVER ERROR
Добавление человека в URL - это хорошо. Есть идеи?
EDIT
На стороне сервера используются декораторы django для обработки POST и GET.
@require_http_methods(["GET", "POST"])
def add(request):
if request.method == "POST":
#do stuff with post data
Разве вышеприведенный код Python не совпадает с отправкой формы в шаблон HTML? Если он такой же, то не должны ли обработчики обрабатывать его так же?
Спасибо
Решено с помощью:
c = urllib2.build_opener()
postdata = urllib.urlencode({'name':name})
r = c.open(url,postdata)
Другой подход, но делает свою работу. Спасибо за все ваши ответы.