Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 1, 2014 10:58:25

thomas
Зарегистрирован: 2014-07-10
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Продолжаем химичить с python и html

Выдался нормальный список вывода форм:

name -> username1 
email -> message2 
body -> about me 3

Офлайн

#2 Окт. 1, 2014 11:58:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Продолжаем химичить с python и html

Ну вот, теперь в самом первом скрипте своём сделай переменную формы одну.

А потом вместо этого:

user_old = cgi.FieldStorage()
user_new = cgi.FieldStorage()
email = cgi.FieldSotrage()

Сделай вот это:
user_old = form['user_old']
user_new = form['user_new']
email = form['email']

Дальше выведи их просто, чтобы убедиться, что они выводятся, а потом уже применяй анализ содержимого.



Офлайн

#3 Окт. 1, 2014 13:17:47

thomas
Зарегистрирован: 2014-07-10
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Продолжаем химичить с python и html

При использовании такой конструкции

form = cgi.FieldStorage()
user_old = form['user_old']
user_new = form['user_new']
email = form['email']
.....
if 'email' in form:
        if 'user_old' in form:
                if 'user_new' in form:
                        print 'Content-Type: text/html; charset=utf-8'
                        print
                        print 'email:', form['email'].value
                        print 'user_old:', form['user_old'].value
                        print 'user_new:', form['user_new'].value
                        
                        ....
                else:
                        print(doc_no)
        else:
                print(doc_no)
else:
        print(doc_no_email)

В таком случае выводится все агонь:

email: myuser@company.com user_old: userolder user_new: usernewer

За это большое спасибо.
Можешь также помочь по конструкции:

user_new = cgi.escape(form['user_new'].value)
user_old = cgi.escape(form['user_old'].value)
email = cgi.escape(forml['email'].value)
os.system('copy_schema.sh {0} {1} {2} > dev/null 2>$1'.format(form['user_old'].value, form['user_name'].value, form['email'].value))
print(doc_yes)

1) надо ли делать cgi.excape ?
2) скрипт copy_schema использует в качестве переменных вводимые данные. В данном случае передача идет правильно?

Офлайн

#4 Окт. 2, 2014 00:48:01

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Продолжаем химичить с python и html

thomas
print 'email:', form['email'].value

Не, у тебя же сверху поля уже сделаны.

print 'email:', email.value

thomas
1) надо ли делать cgi.excape ?

Судя по python.org. cgi.escape() , это используется для вывода в html-коде.


thomas
В данном случае передача идет правильно?
В том сообщении показано, что может быть, если не включить аргументы в кавычки.

thomas
'copy_schema.sh {0} {1} {2} > dev/null 2>$1'

'copy_schema.sh "{0}" "{1}" "{2}" &>/dev/null'



Отредактировано py.user.next (Окт. 2, 2014 00:48:27)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version