2016-06-01 6 views
0

Я работаю над парсером URL для метода get при написании сценариев CGI в python 2.7. Двигаясь вперед, я пытаюсь, чтобы мои HTML-формы были предварительно заполнены ничем (если веб-страница была только что открыта) или тем, что пользователь вводил ранее. Скрипт связывается с самим собой, поэтому все правильно называется, я просто не могу получить мои переменные python, где я их хочу.Предварительно заполняемые формы HTML в python CGI

print "Content-Type: text/html"                       

    print """                            
    <html>                             
    <head>                             
    <title> Output from CGI </title>                      
    </head>                             

    <body>                             
    <h3> Creating HTML forms </h3>                       
    <p> Please randomize input below... </p>                    

    """                              
    print '<form action="proj1.cgi" method="get">'                   

    print '<input type="checkbox" name="cb1" value="1" />'                 
    if f:                             
      print '<input type="text" name="text1" value="'+ html_encode(var['text1'])+'" />'        
    else:                             
      print '<input type="text" name="text1" />'                  

    print """                            
    <input type="submit" />                         

    </form>                             

    <h3> This was your output: </h3>                      
    <p>                              
    """                              
    print 'User Text: %s <br />' %(html_encode(var['text1']))                

    if 'cb1' not in var.keys():                        
      print 'The checkbox wasn\'t checked :(<br />'                 
    else:                             
      print 'The checkbox was checked!<br />'                   

    print """                            
    </p>                             
    <br /><br />                           
    </body>                             
    </html>                             
    """  

Я знаю, что мое форматирование ужасно, но я могу беспокоиться об этом, когда оно работает. Эти операторы if просто проверяют данные и принимают решения на основе указанных данных. проблема явно возникает при попытке использовать переменные python в моих операторах печати. Я отказался от всего остального кода, чтобы никого не путать, но должно быть известно, что это сидит внизу моего сценария CGI, а не является независимым html-файлом.

+0

Просто голова, вы можете использовать JavaScript вместо Python для чего-то подобного. Если вы настаиваете на использовании Python, проверьте Django или Flask - они значительно упрощают HTML-рендеринг. –

+0

Я действительно переезжаю в колбу вскоре после завершения этого проекта. Мой босс заставляет меня изучать под животом то, как работает Интернет, поэтому мне пришлось разработать собственный парсер URL-адресов для методов получения и публикации. это одна из последних частей этого проекта, прежде чем перейти к более эффективному инструменту. – Turk

ответ

0

Найден ответ. Комбинация использования плохого тестового примера для операторов if, а также неправильного цитирования. Если кому-то интересно, я могу опубликовать полный код для справки.