Python ve Cgi Scripting Giriş

Slides:



Advertisements
Benzer bir sunumlar
HTML e GİRİŞ Temel HTML etiketleri.
Advertisements

HTML
NETBEANS’TE AXİS 2 ile WEB SERVİS GELİŞTİRME
MIT504 İnternet ve Web Programlama: Javascript programlama devam Yrd. Doç. Dr. Yuriy Mishchenko.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
WEB Tasarımı & .NET Bolum 1
YZM Yazılım Doğrulama ve Geçerlileme
İnternet Programcılığı
Programlama-II (Java ile Bilgisayar Programlama)
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
Nesneye Dayalı Programlama
Web Service Uygulaması
PL/SQL üzerinden Web Sayfası üretmek
STİL SAYFALARI GELİŞTİRMEK
5. Perl’e Giriş.
Bölüm 4 – Kontrol İfadeleri:1.kısım
CHAIN OF RESPONSIBILITY
Javascript Oğuz İNAL.
IT504 ~~DOM~~ Belge Nesne Modeli I
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
Temel HTML Eğitimi Erman Yükseltürk.
İSİM UZAYLARI (NAMESPACE).
Nesneye Yönelik Programlama
XML Document Object Model (DOM)
LINQ (Language Integrated Query)
Hazırlayan:Emin BORANDAĞ 4/3/ HTML HTML (Hyper Text Markup Language) internet üzerinde web sayfası oluşturmak için kullanılan bir betik dilidir.
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
WEB TASARIMININ TEMELLERİ HTML. HTML FORMLARI VE BİLGİ GİRİŞİ FORM, FORM ELEMANLARI BARINDIRAN BİR ALANDIR. FORM ELEMANLARI KULLANICILARDAN BİLGİ GİRİŞİNE.
ÇOK BİÇİMLİLİK POLYMORPHISM
APPLET KAVRAMI ve GRAFİK UYGULAMALARI
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
PYTHON ILE PARALEL PROGRAMLAMA
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Python Aslı Ergün.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
İKMAP İnternet 1 Ders Notu
Kabuk Programlama Shell Scripting(bash)
Nesneye Dayalı Programlama
VERİ ERİŞİM ARABİRİMİ PROGRAMLAMA DİLLERİ KENDİ OLANAKLARIYLAVERİTABANI ERİŞİMİNİ TAM ANLAMIYLA GERÇEKLEŞTİREMEZLER. BU NEDENLE VERİ ERİŞİM ARABİRİMİ (DATA.
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
Veri Yapıları ve Algoritmalar
BIL MOBiL PROGRAMLAMA TEKNiKLERi
BIL MOBiL PROGRAMLAMA TEKNiKLERi Yard. Doç. Dr. Oğuzhan Topsakal
DYNAMİC HTML EVENT MODELS SİNEM YARDIMCI ÇAKIL SU KIRLI.
1/28. 2/28 3/28 4/28 5/28 6/28 Blok 1 Blok 1 Sonu Blok 2 Blok 2 Sonu Blok 3 Blok 3 Sonu.
RUBY BIL 341 PROGRAMLAMA DILLERI Ömer Demir. Tarihçe Yukihiro “matz” Matsumoto tarafından geliştirilmiştir. Yukihiro “matz” Matsumoto 1995 yılında piyasaya.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Gürer Özen pardus.org.tr ile Python gibi kod yazma.
P y t h o n Gürer Özen Yüksek düşünceler için yüksek bir dil gerekir. -- Aristophanes Herşeyi optimize edersiniz,
PHP'de Program Denetimi
İNTERNET PROGRAMCILIĞI 1
BİLİŞİM TEKNOLOJİLERİ
PHP İş Başında (Formlarla PHP)
VARNISH ile ÖLÇEKLENEBİLİR WEB.
Javascriptte Olay Fonksiyonları (Events)
Javascript Kullanım Şekilleri.
5- class & object Nesne Yönelimli Programlama - i
XHTML ile HTML Arasındaki Farklar
Öğretim Görevlisi Emel ALTINTAŞ
WEB TASARIMI BOOTSTRAP KULLANIMI SAVAŞ TUNÇER
Metadata ve Z39.50 Metadata.
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Python ile Bilimsel Hesaplama
Web Programlama Kursu Bu kurs ne değildir? Neyi amaç edinmiştir?
Bilginin Organizasyonu Uygulama I
İNTERNET PROGRAMCILIĞI 2
Google Colab Dosyaları Nasıl Kullanılır?
İNTERNET PROGRAMCILIĞI 2
Karabük Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü
Sunum transkripti:

Python ve Cgi Scripting Giriş

Python CGI ile Programlama Common Gateway Interface, veya CGI, HTTP sunucuları gibi bilgi sunucuları ile arabirim harici ağ geçidi programları için bir standarttır. CGI (Common Gateway Interface), Web Servisleri ile bu servislerin dışındaki programlar arasında etkileşim (ortak çalışma) platformu oluşturmak için geliştirilmiş bir standarttır. CGI, Web'in statik yapısına, HTML kodu içinden çağrılan CGI programları dinamik bir nitelik kazandıran programdır.

CGI programları “çalıştırılabilir” kodlar olduğundan, bir başkası, sizin sisteminizde program çalıştırabilir

Python klasörünün altında cgi-bin oluşturun. İçine hello.py koyun. print 'Content-Type: text/html' print print '<html>' print '<head><title>Hello from Python</title></head>' print '<body>' print '<h2>Hello from Python</h2>' print '</body></html>‘

Cmd prompttan Python –m http.server –cgi Yazın. Web browser açın: http://localhost:8000/cgi-bin/hello.py yazın

Request Handler Kullanmak import textwrap from six.moves.BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer class HelloRequestHandler(BaseHTTPRequestHandler): def do_GET(self): if self.path != '/': self.send_error(404, "Object not found") return self.send_response(200) self.send_header('Content-type', 'text/html; charset=utf-8') self.end_headers() response_text = textwrap.dedent('''\ <html> <head> <title>Greetings to the world</title> </head> <body> <h1>Greetings to the world</h1> <p>Hello, world!</p> </body> </html> ''') self.wfile.write(response_text.encode('utf-8')) server_address = ('', 8000) httpd = HTTPServer(server_address, HelloRequestHandler) httpd.serve_forever() Request Handler Kullanmak

Flask ile CGI (pip install flask) from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()

App.py from flask import render_template @app.route('/hello/') @app.route('/hello/<name>') def hello(name=None): return render_template('index.html', name=name)

İndex.html <!doctype html> <title>Hello from Flask</title> {% if name %} <h1>Hello {{ name }}!</h1> {% else %} <h1>Hello, World!</h1> {% endif %}

Örnek :Flask Paketi kullanan KlasörYapısı /hello_flask.py /templates/                basepage.html                middle.html                result.html /static/               main.css

basepage.html <!doctype html> <html> <head>         <title>{{ page_title }}</title>         <link rel="stylesheet" href="static/main.css"/>     </head>     <body>         {% block body %}         {% endblock %}     </body> </html>

middle.html {% extends 'basepage.html' %} {% block body %}   <h2>{{ page_title }}</h2> <form method='POST' action='/sum'> <table> <p>Sum of two values</p> <tr><td>First Value:</td><td><input name="firstValue" type="TEXT" width="10"</td></tr> <tr><td>Second Value:</td><td><input name="secondValue" type="TEXT" width="10"</td></tr> </table> <p><input value="Calculate" type="SUBMIT"></p> </form> {% endblock %}

result.html {% extends "basepage.html" %} {% block body %}   <h2>{{ page_title }}</h2> <p>You submitted the following data:</p> <table>     <tr><td>First:</td><td>{{ first_value }}</td></tr>     <tr><td>Second:</td><td>{{ second_value }}</td></tr> </table> <p>Result</p> <h3>{{ sum_result }}</h3> {% endblock %}

hello_plask.py from flask import Flask, render_template,request app=Flask(__name__)   @app.route('/') def entry_page()->'html':     return render_template('einstein.html',page_title='Wellcome to Little Einstein Project') @app.route('/sum',methods=['POST']) def sum()->'html':     x=int(request.form['firstValue'])     y=int(request.form['secondValue'])     return render_template('result.html',page_title='Calculation result',sum_result=(x+y),first_value=x,second_value=y,) app.run(debug=True)