Heur 0 Denunciar post Postado Julho 30, 2010 Olá galera. Estou fazendo um código para teste. Estou usando O método get e post. Porém, não está dando certo. Aqui vão os códigos. Index.py: #! C:Python26python.exe -u#-*- coding: ISO-8859-1 -*-import mathimport cgi print "Content-type: text/html; ISO-8859-1"printform = cgi.FieldStorage()form.getvalue('posthead')form.getvalue('postbody')menu = ["Home", "Galeria", "Portfolio", "Tutoriais", "Contato", "Mapa do Site"]title = 5#posthead = 'Nothing to Say'#postbody = 'Não tenho nada a falar, apenas estou fazendo testes Por isso, quanto mais eu escrever, Melhor.' print '<html><head>' print '<title>Test page nº '+str(title)+'</title>' print '</head><body>' print '<div id="menu" align="right"><h4>' for i in range(0,6): print '<a href="">'+menu+'</a> | ' print '</h4></div>' print '<u><a href="newpost.py">Novo Post</a></u>' print '<div id="headpost" align="left"><br>' print '<table border="1">' print '<tr><td width="400">' print '<h2>%s</h>' % posthead print '</tr></td>' print '</h2></div>' print '<div id="bodypost" align="left">' print '<table border="1">' print '<tr height=""><td width="400">' print '<i>%s</i>' % postbody print '</body>' print '</html>'E aquele link Novo Post, chama esse aqui. newpost.py: #! C:Python26python.exe -u#-*- coding: ISO-8859-1 -*- print "Content-type: text/html; ISO-8859-1"printprint '''<form action="index.py" method="post"> <table align="left" border="0"> <tr><td align="right">Título do Post: </td> <td><input type="text" name="posthead" size="25"></td></tr> <tr><td align="right">Texto do Post: </td> <td><textarea rows="4" cols="20" name="postbody"></textarea></td></tr> <tr><td align="right"><input type="submit" value="Submit" /></td></tr> </form>''' Pois é.Até aí beleza. O detalhe é que não to conseguindo dá o post no meu campo de novo post no Index.py. Tava pensando se não tinha que atualizar a janela. Alguém dá um auxilio? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 30, 2010 Já instalou o Firebug no Firefox p/ ver se aparece alguma coisa na aba Rede? Já leu os logs do servidor? Compartilhar este post Link para o post Compartilhar em outros sites
Heur 0 Denunciar post Postado Agosto 2, 2010 Ah sim. Bem observado. No Log de Acesso as ultimas linhas são essas: 127.0.0.1 - - [30/Jul/2010:16:21:22 -0300] "GET /cgi-bin/bin/newpost.py HTTP/1.1" 200 392 127.0.0.1 - - [30/Jul/2010:16:21:26 -0300] "POST /cgi-bin/bin/index.py HTTP/1.1" 200 384 E no Log de Erro são essas: [Fri Jul 30 16:21:27 2010] [error] [client 127.0.0.1] Traceback (most recent call last):\r, referer: http://localhost/cgi-bin/bin/newpost.py [Fri Jul 30 16:21:27 2010] [error] [client 127.0.0.1] File "C:/www/cgi-bin/bin/index.py", line 30, in <module>\r, referer: http://localhost/cgi-bin/bin/newpost.py [Fri Jul 30 16:21:27 2010] [error] [client 127.0.0.1] print '<h2>%s</h>' % posthead\r, referer: http://localhost/cgi-bin/bin/newpost.py [Fri Jul 30 16:21:27 2010] [error] [client 127.0.0.1] NameError: name 'posthead' is not defined\r, referer: http://localhost/cgi-bin/bin/newpost.py Então. Na minha visão, parece que está dando get e post, mas tá retornando erro na identificação da variavel do GET. Alguma sugestão? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 3, 2010 Leia o log de erro e o código e responda em que lugar do index.py você está definindo a variável posthead antes de usar no print. Compartilhar este post Link para o post Compartilhar em outros sites
Electron 0 Denunciar post Postado Agosto 22, 2010 Oi Heur, tudo bem? Nem sei se você ainda está com esse problema, mas mesmo assim vou tentar ajudar: Lá na parte do: form.getvalue('posthead') form.getvalue('postbody') Substitua por: posthead=form.getvalue('posthead') postbody=form.getvalue('postbody') Mas para deixar gravado no index acho que você teria que criar uma pasta de template e configurar direitinho, sabe, Python pra cá, HTML pra lá. :D Também estou com um projeto parecido e pretendo fazer isso. Compartilhar este post Link para o post Compartilhar em outros sites