Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Поиск динамически созданной нажатой кнопки [RSS Feed]

#1 Июль 28, 2013 10:48:55

Nucky
Зарегистрирован: 2013-06-13
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск динамически созданной нажатой кнопки

Собственно вопрос:

Сервер джанго запускает скрипты на python из каталога, по нажатию кнопки в созданой url.

Как мне определить какая кнопка была нажата, если тег value генерируется в зависимости от названия файлов в каталоге с помощью os.listdir(path)

python.html

<form action="" method="POST"> 
	{%for script in scripts %}
	<input type="submit" value="{{script}}" name="{{script}}"> 
	{%endfor%}
</form>
 


views.py

scripts=os.listdir(r'D:\django\mysite\executables\scripts')
		path='D:\\django\\mysite\\executables\\scripts\\'
		dictionary={'scripts':scripts}
		if request.method =='POST': 
				for script in scripts:
					if request.POST.has_key(script): #Здесь он выбирает только первую кнопку
						pathExe='cmd /C python2 '+ path+request.POST.get(script)
						dictionary['path']=pathExe
						try:
							subprocess.Popen(pathExe)
							return render_to_response('python.html', dictionary)
						except Exception:
							errors.append(str(sys.exc_info()[0]))
							dictionary['errors']=errors
							return render_to_response('python.html',dictionary)
		return render_to_response('python.html',dictionary)
	


Так как кнопки задаются динамически, то я не могу для каждой из них написать :

if request.POST.has_key('first'):
...
elif:request.POST.has_key('second'):
...

Подскажите,пожалуйста.

Отредактировано Nucky (Июль 28, 2013 12:06:45)

Офлайн

#2 Июль 28, 2013 12:06:51

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Поиск динамически созданной нажатой кнопки

<input type="submit" value="{{script}}" name="script_name"> 

script = request.POST['script_name']



Отредактировано FishHook (Июль 28, 2013 12:07:11)

Офлайн

#3 Июль 28, 2013 12:59:43

Nucky
Зарегистрирован: 2013-06-13
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск динамически созданной нажатой кнопки

FishHook
<input type=“submit” value=“{{script}}” name=“script_name”>


script = request.POST



Спасибо,помогло!
Я почему то думал, что request.POST по тегу value ищет теги.

Офлайн

  • Начало
  • » Django
  • » Поиск динамически созданной нажатой кнопки[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version