कैप्चा वेबसाइट्स में सत्यापन के लिए उपयोग किए जाने वाले आधुनिक तरीकों में से एक है; यह बहुत कूल तरीका है और हर दूसरी वेबसाइट इसका उपयोग कर रही है। आप गूगल कैप्चा का उपयोग कर सकते हैं लेकिन इसे लागू करना वास्तव में सिरदर्द है; हालांकि Django में, हमारे पास ऐसा करने का एक सरल तरीका है।
इस लेख में, हम सीखेंगे कि Django वेबसाइट में कैप्चा कैसे बनाया जाए। तो, चलिए शुरू करते हैं।
उदाहरण
सबसे पहले, एक Django प्रोजेक्ट और एक ऐप बनाएं।
अब django-simple-captcha लाइब्रेरी इंस्टॉल करें:
pip install django-simple-captcha
settings.py पर जाएं और INSTALLED_APPS के अंदर, अपना ऐप और "captcha" जोड़ें:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"captchaproject", # मेरा ऐप नाम
"captcha" # मॉड्यूल नाम
]
यह captcha को ऐप के रूप में जोड़ देगा।
प्रोजेक्ट के रूट डायरेक्टरी में, निम्नलिखित लाइनें जोड़ें:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include("captchaproject.urls")),
path('/captcha', include("captcha.urls"))
]
यह मेरे ऐप के लिए url और कैप्चा url जोड़ देगा जहां सत्यापन होगा।
ऐप के मेन डायरेक्टरी में, एक forms.py बनाएं और टाइप करें:
from django import forms
from captcha.fields import CaptchaField
class MyForm(forms.Form):
captcha = CaptchaField()
यहां हमने कैप्चा फील्ड के साथ एक फॉर्म बनाया।
"python manage.py migrate" चलाना न भूलें।
अब ऐप के view.py में, निम्नलिखित लाइनें जोड़ें:
from django.shortcuts import render
from .forms import MyForm
def home(request):
if request.method == "POST":
form = MyForm(request.POST)
if form.is_valid():
print("success")
else:
print("fail")
form = MyForm()
return render(request, "home.html", {"form": form})
हम होम व्यू में फॉर्म रेंडर करते हैं और POST हैंडलर में, हम फॉर्म या कैप्चा को वेरिफाई करते हैं और वेरिफिकेशन के बाद, रिजल्ट प्रिंट करते हैं।
templates डायरेक्टरी में एक HTML फाइल बनाएं (डायरेक्टरी जहां आप हर HTML या CSS फाइल जोड़ते हैं जिसे आप रेंडर करते हैं, मैं मानता हूं कि आप जानते हैं और पहले से कॉन्फ़िगर कर चुके हैं) और निम्नलिखित लाइनें जोड़ें:
<!DOCTYPE html>
<html>
<head>
<title>Tut</title>
</head>
<body>
<form method="POST" novalidate>
{% csrf_token %}
{{form.captcha}}
<input type="submit" value="submit">
</form>
</body>
</html>
यह फ्रंटएंड है जहां हम कैप्चा फॉर्म रेंडर कर रहे हैं।
हम हो गए; अब आप आउटपुट जांचने के लिए आगे बढ़ सकते हैं।
आउटपुट
