Tekrar hoş geldiniz.
Programımızı geliştirmek istiyoruz, böylece bunun gibi genel bir e-posta göndermek yerine, bunu her bireye göre
özelleştirmek istiyorum.
Tüm bu kullanıcıların, tüm e-postalarının ve ilk adlarının yer aldığı bir veritabanımız olduğunu düşünün.
İdeal olarak, e-postayı her bir kişiye göre özelleştirebiliyoruz.
Peki bunu nasıl yapabiliriz?
HTML tabanlı bir e-posta kullanacağız, böylece gördüğümüz gibi sadece metin içeren metin e-postaları gönderebiliriz
veya HTML gibi daha dinamik bir şey gönderebiliriz.
Şimdi, bu bir HTML kursu değil ve web geliştirme hakkında konuştuğumuzda biraz daha derinlemesine
inceleyeceğimiz bir konu.
Ama burada çok ama çok basit bir HTML belgem var.
Ve bu HTML belgesinde e-postamızın içeriğinin olmasını istediğimiz bir gövde vardır.
Şimdi burada, sana sadece bir tane çok para yazdım.
Ve sonra dolar işaretli bir isimle.
Buraya istediğinizi yazabilirsiniz, ancak dolar işaretine dikkat etmenizi istiyorum çünkü burada
düzgün bir şey yapacağız.
Bunu aslında bir değişkeni, dinamik olarak değiştirebileceğimiz ve özelleştirebileceğimiz bir Python değişkenini yansıtacak
şekilde güncelleyeceğiz.
Şimdi, bunu nasıl yapacağız?
E-postamıza geri dönersek.
Sizlere Python'da yerleşik olarak bulunan ve kullanabileceğimiz iki yeni paketi tanıtmak istiyorum.
Bunlardan biri şablon veya dize şablonu olarak adlandırılır.
Yani string modülünden içe aktarabiliriz.
Şablon.
Ve bu şablonun ne yaptığını.
Buradaki belgelere bakacak olursak, bir string dot şablon sınıfımız var ve burada görebileceğiniz gibi,
dolar işaretini kullanarak yapmamıza izin verilen şey bu.
Değişkenleri metin içinde değiştirebiliriz.
Burada görebilirsiniz, biraz yakınlaştırırsak, kimin neyi sevdiğini gösteren bir şablon nesnemiz var ve değiştirebiliriz.
Bu dolar işaretleri.
Kiminle?
Peki Tim'e kim eşit?
Kimin neyi sevdiğini bize eşitleyen bir şablon yapabiliriz ve sonra kimin yerine Tim'i ve neyin yerine Kung Pao'yu koyabiliriz?
Yani bu çok ama çok faydalı olacak.
Endeks ile yaptığımız da bu. html.
Bir dolar işareti ismimiz var ve ideal olarak bunu güncelleyebiliyoruz, ancak burada bir sorunumuz var.
Bu bir HTML dosyasıdır.
Bu bir dizin HTML dosyasıdır.
Peki bunu nasıl okuyabiliriz?
Bunu bir şablona dönüştürün ve yerine koyun.
İçe aktaracağımız başka bir modülümüz daha var.
Ve buna path lib from path adı verilecek.
İçe aktarma yolu.
Yani bu yol lib ve içe aktardığımız bu yol aslında daha önce gördüğümüz bir şeye çok benziyor, bu
da O'nun nokta yolu.
Dolayısıyla, işletim sistemi OS modülünü de içe aktarabilir ve path yöntemini kullanabilirdik çünkü yapmamıza izin
verdiği şey bu indekslenmiş HTML dosyasına erişmektir.
İşte böyle görünecek.
Path'e eşit olan bir HTML değişkenimiz olabilir.
Ve sonra indeks verin. html çünkü aynı klasördeyiz.
Ve bu yol şimdi bize dizine erişim sağlıyor. html ve read'i kullanabiliriz.
Text metodunu kullanarak bir metin olarak dize şeklinde okuyun.
Şimdi neden Oscar path yerine path lib kullanmak istediğimize dair bir kaynak bırakacağım, çünkü
bu kırmızı metin yöntemimiz var.
Ancak burada neden OSS path modülüne karşı path lib kullanmanız gerektiğine dair harika bir makale var, linkini vereceğim ve kendiniz
de okuyabilirsiniz.
Yine de günün sonunda, bu kütüphanelerin her ikisi de faydalı olacaktır ve doğru ya da yanlış yoktur.
Sadece artılar ve eksiler.
Yani elimizde bu dize var, ancak şimdi name değişkeninin özel bir şey olması için güncellemek istiyoruz.
Yani yapacağımız şey bunu ve şablonu sarmak.
Yani öyle oluyor.
Bir şablon nesnesi.
Bu kadar.
Yani elimizde bir şablon olan bu HTML var.
Ve hatırlarsanız, bu şablon dizesini aldıktan sonra, yerine koymak istediğimiz şeyi vermek için nokta
ikamesini kullanabiliriz.
Bu yüzden içeriği bu şekilde ayarlamak yerine bunu değiştireceğim.
Ve deyin ki, bir HTML nokta ikamesi istiyorum.
Eşit isme, buradaki değişkeni hatırlıyor musunuz?
Eşit olması için.
Hmm.
Tenten'le devam edelim.
Ve bu arada, bu ikame birden fazla parametreye sahip olabilir.
Yani bunu anahtar kelime argümanlarıyla yapabiliriz ya da şöyle bile yapabiliriz.
Bunun gibi bir sözlük, böylece adın 1010 olacağını söyleyebiliriz ve sonra birden fazla değişken ekleyebiliriz.
Bu HTML dosyasında birden fazla değişken olsaydı, birden fazla, belki isim, yaş, belki bir selamlama, ne istersek.
O yüzden böyle bırakalım.
Burada neyin güvenli olduğunu ve bunun işe yarayıp yaramadığını görün.
Bir kez daha göndereceğim ve bu sefer gerçekten Gmail hesabıma göndermek istiyorum.
Kişisel e-posta adresimi görmemeniz için bunu bulanıklaştıracağız.
Tamam.
Hepsi iyi.
Patron, görünüşe göre hiç hata almadık.
Şimdi Gmail hesabımı kontrol edelim.
Hey, şuna bak.
Önemli ve okunmamış.
Dikkat edin, sizin için spam klasörünüze düşebilir.
Kendime bir e-posta gönderdim. "Hey, ben sadece 1000 kişiyim.
Oh.
Ve değiştirirken yapmamız gereken son şey, ona şunu söylememiz gerektiğidir: Hey, bu set içeriği
HTML olacak.
Bunu yapmanın yolu ikinci parametredir.
Diyoruz ki.
Bu HTML olacak.
Yani daha önce olduğu gibi metin değil, HTML olacak.
Bu yüzden buna göre ayrıştırın ve içeriği buna göre ayarlayın.
Eğer bunu kaydedersem ve çalıştırırsak.
Görünüşe göre hiç hata almadık.
Bu çok iyi.
Ve eğer Gmail istemcisine geri dönersek.
Hey.
Görünüşe göre 1.000.000 dolar kazandığıma dair bir mesaj aldım.
Bu gerçekten harika.
Kendiniz için bunu spam klasörünüzde bulabileceğinizi unutmayın.
Tekrar ediyorum, e-postanızı kontrol ettiğinizden emin olun.
Aksi takdirde, eğer buna tıklarsam.
Şuna bir bak.
Az önce çok para kazandın, Tenten.
Ne kadar havalı değil mi?
Böylece, programlı olarak e-postalar, özelleştirilmiş e-postalar gönderebiliyoruz.
Şimdi bunun pek çok uygulaması var.
Belki de bir müşteri şirketinizden bir ürün satın aldığında, ona kişisel bir e-posta, bir selamlama mesajı göndermek istersiniz:
Hey, ürünümüzü satın aldığınız için teşekkürler.
Ya da belki kendinize her sabah "Hey, kalk ve yatağını topla" şeklinde bir e-posta göndereceğiniz
bir hatırlatıcı edinmek istersiniz.
Çok fazla uygulama var.
Python'un en güzel yanı da bu, değil mi?
İstediğin her şeyi yapabilirsin.
Dünya senin istiridyendir.
Umarım bu heyecan verici olmuştur çünkü bir sonraki videoda çok daha fazlası var.
Güle güle.