Форум сайта python.su
Здравствуйте, помогите пожалуйста, я использую ubuntu + apache + wsgi, мне нужнго по нажатию на ссылку/кнопку реализовать скрипт который бы создавал файл на сервере с соответствующим ссылке содержанием, например при нажатии на ссылку или кнопку ‘test’ на сервере создавалася бы файл test. Я знаю что это делается с помощью POST или GET запросов, но к сожалению я больше ничего не знаю, документацию с описанием всех методов wsgi я не смог найти, может быть хотябы в качестве помощи кто-нибудь поделится документацией.
Офлайн
from werkzeug.wrappers import Request, Response @Request.application def application(request): if "foo" in request.args: print "GET ", request.args["foo"] return Response('<html><head></head><body><form><input name="foo"><input type="submit" value="push me"></form></body></html>', mimetype="text/html" ) if __name__ == '__main__': from werkzeug.serving import run_simple run_simple('localhost', 4000, application)
Офлайн
FishHook, когда нажимаю на push me ничего не происходит. Должно было вывестись на экран GET и значение запроса foo?
Офлайн
Смотрите на консоль внизу экрана
Офлайн
FishHook, а, я понял, спасибо большое, попробую!
Офлайн
FishHook, не могли бы вы мне еще немного помочь, как прикрутить этот метод к моему коду. Вот как я делал, пытался внести это внутрь, но очевидно это как-то не так делается.
#!/usr/bin/python #-*- coding: UTF-8 -*- from werkzeug.wrappers import Request, Response test_button = ''' <form> <input type = 'hidden' name = 'foo' value = 'itworks' > <input type = 'submit' value = 'OK'> </form> ''' def application(environ, start_response): status = '200 OK' response_body = test_button response_headers = [('Content-type', 'text/html'), ('Content-Length', str(len(response_body)))] start_response(status, response_headers) return [response_body] def get_req(request): if "foo" in request.args: print "GET ", request.args["foo"] return Response('<html><head></head><body>ITWORKS</body></html>')
Отредактировано Ishikawa (Апрель 30, 2014 13:04:59)
Офлайн
А как application связано с get_req, и какая из этих функций у вас юзается в качестве wsgi-приложения?
Офлайн
FishHook, application это как раз wsgi приложение, get_req я как раз и хочу как-то связать, если просто вызывать его в теле application, то не работает.
Офлайн
Вы взялись за задачу, которая Вам явно не по росту. Вы не понимаете что такое функции, зачем они нужны и как с ними работать. Почитайте для начала хоть что-нибудь по основам программирования иначе ничего не выйдет.
Офлайн
FishHook, почему же не понимаю, я не понимаю как эти функции вызываются, что должно быть в качестве параметров. Для меня совсем не очевидно почему вообще работает application, если я его нигде не вызывал, и что у него должно быть на входе. Функция application взята с примеров из туториала по wsgi, больше там особо ничего нет и документации тоже. Пожалуйста, если вам не трудно, не могли бы вы показать как объединить все это, так чтобы у меня просто при нажатии на кнопку, которая генерируется с помощью application, выполнялось то, что вы показали, это все что мне нужно.
Офлайн