Ishikawa
			  Апрель 29, 2014 07:25:30
		 	 
			
				Здравствуйте, помогите пожалуйста, я использую ubuntu + apache + wsgi, мне нужнго по нажатию на ссылку/кнопку реализовать скрипт который бы создавал файл на сервере с соответствующим ссылке содержанием, например при нажатии на ссылку или кнопку ‘test’ на сервере создавалася бы файл test. Я знаю что это делается с помощью POST или GET запросов, но к сожалению я больше ничего не знаю, документацию с описанием всех методов wsgi  я не смог найти, может быть хотябы в качестве помощи кто-нибудь поделится документацией.
			
		 
		
			
			  FishHook
			  Апрель 29, 2014 08:10:24
		 	 
			
				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)
Запускаем этот код в консоли, запускаем браузер, идем по адресу 127.0.0.1:4000
			
 
		 
		
			
			  Ishikawa
			  Апрель 29, 2014 08:52:12
		 	 
			
				FishHook, когда нажимаю на push me ничего не происходит. Должно было вывестись на экран GET и значение запроса foo?
			
		 
		
			
			  FishHook
			  Апрель 29, 2014 09:55:34
		 	 
			
				Смотрите на консоль внизу экрана
 
			 
		
			
			  Ishikawa
			  Апрель 29, 2014 10:56:48
		 	 
			
				FishHook, а, я понял, спасибо большое, попробую!
			
		 
		
			
			  Ishikawa
			  Апрель 30, 2014 13:02:50
		 	 
			
				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>')
 
		 
		
			
			  FishHook
			  Апрель 30, 2014 13:15:34
		 	 
			
				А как  application связано с get_req, и какая из этих функций у вас юзается в качестве wsgi-приложения?
			
		 
		
			
			  Ishikawa
			  Апрель 30, 2014 13:52:26
		 	 
			
				FishHook, application это как раз wsgi приложение, get_req я как раз и хочу как-то связать, если просто вызывать его в теле application, то не работает.
			
		 
		
			
			  FishHook
			  Май 1, 2014 11:17:58
		 	 
			
				Вы взялись за задачу, которая Вам явно не по росту. Вы не понимаете что такое функции, зачем они нужны и как с ними работать. Почитайте для начала хоть что-нибудь по основам программирования иначе ничего не выйдет.
			
		 
		
			
			  Ishikawa
			  Май 1, 2014 11:43:10
		 	 
			
				FishHook, почему же не понимаю, я не понимаю как эти функции вызываются, что должно быть в качестве параметров. Для меня совсем не очевидно почему вообще работает application, если я его нигде не вызывал,  и что у него должно быть на входе. Функция application взята с примеров из туториала по wsgi, больше там особо ничего нет и документации тоже. Пожалуйста, если вам не трудно, не могли бы вы показать как объединить все это, так чтобы у меня просто при нажатии на кнопку, которая генерируется с помощью application, выполнялось то, что вы показали, это все что мне нужно.