Heroku’da Python Flask Host Etmek ve CORS mevzusu ve Diğer Birtakım Şeyler

Heroku’da bildiğiniz gibi Node.js,Python,Java vb ile yazılmış bacendlerimizi barındırabilmekteyiz. Node.js’in Express generator ile oluşturulan template’inde daha kolay olmakla beraber bu işlemi python’un Flask Frameworkü ile de yapmamız mümkün.

Öncelikle kodumuzu yazacağız elbette. Flask’ta Oldukça basit olmasında bir problem yok ve kullanılması da oldukça kolay olabilmektedir.

Sonrasında yazdığınız kodun python flask kodu olduğuna ikna etmeniz gerekmektedir. Bunun için şu şekilde dosyalar oluşturmalıyız:

Bu şekilde heroku bizi enviromentımızı hazırlayacak. Buraya kadar işlemler tamam. Kodumuzu da ardından deploy edebiliriz ancak mevzu hala çalışmayacaktır. Son olarak Procfile isimli dosya oluşturup bunu çalıştır dememiz lazım. Bunun öncelikle flask run –port 80 ile denedim ancak firewall tarafından engellendim ardından flask run –port $PORT ile denedim. Bu sefer de yine yanıt alamadım. İnternet araştırdıktan sonra gunicorn isminde bir araç buldum ve bu şekilde hazırladım Procfile’ı. Şu şekilde:

Bu şekilde kullanmaya başlayabiliriz python backendimizi. Peki Python backendi başka bir web sitesinde nasıl kullanabiliriz. Bu şekilde kullanmaya kalktığımızda CORS yönergesi nedeniyle çalışmayacaktır. Bunun için belirli linklerde CORS’u kapatabilirsiniz Flask üzerinde onu da şu şekilde gerçekleştirebiliriz:

Bunu bu şekilde yapmak hiç sağlıklı bir yöntem değildir ancak bazı şartlar altında gereklidir.

Evet çok zor değil ancak sıralı bir şekilde gidilmesinde fayda görmekteyim.

Originally published at anilkaynr.wordpress.com on December 24, 2018.

Computer Engineer,Sociologist, CSE Master Student

Computer Engineer,Sociologist, CSE Master Student