[Çözüldü] Python CGI sorunu

Başlatan grnt, 22 Mayıs 2013 - 15:23:16

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

grnt

Arkadaşlar uzun bir süredir Python ile ilgileniyorum ancak Python ile Web Programcılığı konusunda yeniyim. Karşılaştığım garip bir sorun var. CGI modulu yazarken HTML kodlarını tarayıcı bazen okuyor bazen okumuyor. Şöyle ki ;
#!/usr/bin/python3
import cgi
form = cgi.FieldStorage()
print ('Content-Type: text/html; charset=utf-8\n')
print ('<html><body>')
print ('<h1>ADRES SATIRI (URL) bilgileri</h1>')
print ('</body></html>')

Bu kodu çalıştırınca hata almıyorum. Ancak şu kodları ekleyince boş sayfa ile karşılaşıyorum.

#!/usr/bin/python3
import cgi
form = cgi.FieldStorage()
print ('Content-Type: text/html; charset=utf-8\n')
print ('<html><body>')
print ('<h1>ADRES SATIRI (URL) bilgileri</h1>')
print ('Adınız : %s' % form['adi'].value)
print ('Soyadınız: %s' % form['soyadi'].value)
print ('</body></html>')

Burada adres satırını 'http://localhost/cgi-bin/deneme.py?adi=Ugur&soyadi=Sogukpinar' olarak yazdıgımı belirteyim.

Velhasıl kelam başka denemelerde de bulunurken, az sayıda etiket olunca sorun olmuyor ancak bir kaç şey ekleyince boş sayfa alıyorum tekrar. Örneğin bir div tagı ekleyip ona arka planını değiştirecek  style verince çalışıyor. Ancak div tagları arasına metin girince yine boş sayfayla karşılaşıyorum.

CGI mantığını kavradıktan sonra Django ya geçmek istiyorum ancak bu sorun çok canımı sıktı. Yardımcı olan olmayan herkese şimdiden teşekkür ederim.


-------------
Arkadaşlar sorunu anladım , taglar arasında Türkçe karakter görünce o etiketin tamamını okumuyor. Peki bu sorunu nasıl çözeceğiz ?

Oyunun sonunda şahta piyonda aynı kutuya konur.

sem

Aynen sroun dediğiniz gibi Türkçe karakter sorunu;


# tail -f /var/log/apache2/error.log
[Sat May 25 17:20:45 2013] [error] [client 127.0.0.1]   File "/var/www/deneme/deneme.py", line 7
[Sat May 25 17:20:45 2013] [error] [client 127.0.0.1] SyntaxError: Non-ASCII character '\\xc4' in file /var/www/deneme/deneme.py on line 7, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details



Bu sorun CGI değil, standart Python sorunu. Python'un baş belası da denebilir =)

#!/usr/bin/python3

Satırını


#!/usr/bin/python3
# -*- coding: UTF-8 -*-


Şeklinde değiştiriniz.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

grnt

Aynı şekilde denemiştim ancak bir sonuç alamadım. Ama şimdi oldu. Belkide ben yanlış yazmıştım teşekkürler :)
Oyunun sonunda şahta piyonda aynı kutuya konur.