Bu yazıda basit bir şekilde google'ın captcha uygulamalarını sitemize nasıl import edebileceğimizden bahsedeceğiz.
reCAPTCHA
İlk önce https://www.google.com/recaptcha/intro/index.html adresinden kendimiz için bir recaptcha oluşturuyoruz. Buradaki Get reCAPTCHA butonuna tıkladığınızda size Site key ve Secret key oluşturacaktır. Bunları projemizde kullanacağız.
Bu işlemi yaptıktan sonra https://github.com/praekelt/django-recaptcha adresinden uygulamayı indiriyoruz. İndirdikten sonra
noCAPTCHA
noCAPTCHA'nın reCAPTCHA'dan neredeyse hiç bir farkı yok. Hemen ufak tefek değişikliklerden bahsedelim. Github sayfasını sizinle paylaşalım. https://github.com/ImaginaryLandscape/django-nocaptcha-recaptcha Bu sayfada kullanımı oldukça basit bir şekilde anlatılmış.
İlk önce kurulum yapıyoruz.
reCAPTCHA
İlk önce https://www.google.com/recaptcha/intro/index.html adresinden kendimiz için bir recaptcha oluşturuyoruz. Buradaki Get reCAPTCHA butonuna tıkladığınızda size Site key ve Secret key oluşturacaktır. Bunları projemizde kullanacağız.
Bu işlemi yaptıktan sonra https://github.com/praekelt/django-recaptcha adresinden uygulamayı indiriyoruz. İndirdikten sonra
cd Downloads/django-recaptcha-develop/ sudo python setup.py installkomutlarını sırası ile çalıştırıyoruz. Kurduktan sonra settings.py dosyasında INSTALLED_APPS değişkenine uygulamayı eklemeliyiz.
INSTALLED_APPS = ( ..... 'captcha', )Daha sonra şu satırları settings.py dosyasına ekliyoruz.
RECAPTCHA_PUBLIC_KEY = 'Googledan aldığınız Site Key' RECAPTCHA_PRIVATE_KEY = 'Googledan aldığınız Secret Key' RECAPTCHA_USE_SSL = TrueSon satır reCAPTCHA'nın SSL kullanması ile ilgili. Eğer isterseniz bu satırı kaldırabilirsiniz. reCAPTCHA'yı kullanmak için artık her şey hazır. Şimdi basitçe kullanalım. İlk basit bir form oluşturuyoruz.
from django import forms from captcha.fields import ReCaptchaField class reCAPTCHAForm(forms.Form): captcha = ReCaptchaField()Şimdi bu formu kullanalım. Basit bir view oluşturalım.
from django.shortcuts import render from go.forms import reCAPTCHAForm # Create your views here. def go(request): if request.method == "POST": form = reCAPTCHAForm(request.POST) if form.is_valid(): """ Form başarılı ise yapılacaklar """ else: form = reCAPTCHAForm() return render(request, 'index.html', locals())Bu viewa ait olan index.html şablonun içeriği ise şu şekilde;
Artık kullanabilirsiniz. Ekran çıktımız şu şekilde olacaktır.
noCAPTCHA
noCAPTCHA'nın reCAPTCHA'dan neredeyse hiç bir farkı yok. Hemen ufak tefek değişikliklerden bahsedelim. Github sayfasını sizinle paylaşalım. https://github.com/ImaginaryLandscape/django-nocaptcha-recaptcha Bu sayfada kullanımı oldukça basit bir şekilde anlatılmış.
İlk önce kurulum yapıyoruz.
pip install django-nocaptcha-recaptchaDaha sonra aynı şekilde INSTALLED_APPS'e ekliyoruz.
INSTALLED_APPS = ( .... 'nocaptcha_recaptcha', )settings.py dosyasına ayarlamaları ekliyoruz.
NORECAPTCHA_SITE_KEY = 'Googledan aldığınız Site Key' NORECAPTCHA_SECRET_KEY = 'Googledan aldığınız Secret Key'Form dosyasını şu şekilde değiştiriyoruz.
from django import forms from nocaptcha_recaptcha.fields import NoReCaptchaField class reCAPTCHAForm(forms.Form): captcha = NoReCaptchaField()View dosyamız
from django.shortcuts import render from go.forms import reCAPTCHAForm # Create your views here. def go(request): if request.method == "POST": form = reCAPTCHAForm(request.POST) if form.is_valid(): """ Doğru ise yapılacaklar """ else: form = reCAPTCHAForm() return render(request, 'index.html', locals())index.html şablon dosyamız
Burada dikkat etmeniz gereken ekstrandan Google'ın javascript dosyasını çağırıyor olmamız.
0 yorum :
Yorum Gönderme