इस गाइड में, मैं आपको Django, एसएमएस नोटिफिकेशन के लिए ट्विलियो, सुरक्षित मीडिया अपलोड के लिए पिनाटा और रिस्पॉन्सिव स्टाइलिंग के लिए टेलविंडसीएसएस का उपयोग करके एक सुरक्षित अनाम फीडबैक सिस्टम बनाने के बारे में बताऊंगा। इस ट्यूटोरियल के अंत तक, आपके पास एक पूरी तरह कार्यात्मक फीडबैक प्रणाली होगी जहां उपयोगकर्ता फीडबैक सबमिट कर सकते हैं, वैकल्पिक रूप से मीडिया अपलोड कर सकते हैं, और एसएमएस सूचनाएं प्राप्त कर सकते हैं - यह सब सुरक्षा और गोपनीयता को ध्यान में रखते हुए।
डेमो: लाइव लिंक
1.1. एक आभासी वातावरण बनाएं और स्थापित करें
अपना प्रोजेक्ट वातावरण स्थापित करके प्रारंभ करें। सुनिश्चित करें कि आपने Python स्थापित किया है और एक आभासी वातावरण स्थापित किया है:
python3 -m venv venv source venv/bin/activate
विंडोज़ पर:
venv\Scripts\activate
आवश्यक पैकेज स्थापित करें:
pip install django twilio python-decouple requests gunicorn
1.2. एक Django प्रोजेक्ट प्रारंभ करें
एक नया Django प्रोजेक्ट और ऐप प्रारंभ करें:
django-admin startproject config . python manage.py startapp feedback
2.1. एक फीडबैक मॉडल बनाएं
फीडबैक सबमिशन को फीडबैक/models.py में संग्रहीत करने के लिए एक मॉडल परिभाषित करें:
from django.db import models class Feedback(models.Model): message = models.TextField() sender_email = models.EmailField() sender_phone = models.CharField(max_length=15) media_url = models.URLField(null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f"Feedback from {self.sender_email}"
यह मॉडल फीडबैक, ईमेल, फोन नंबर और वैकल्पिक मीडिया यूआरएल कैप्चर करता है।
2.2. फीडबैक और एसएमएस सूचनाओं को संभालने के लिए दृश्य बनाएं
फीडबैक/views.py में, फीडबैक संसाधित करने और एसएमएस सूचनाएं भेजने के लिए दृश्य बनाएं:
from django.shortcuts import render from django.http import HttpResponse from .models import Feedback from twilio.rest import Client from django.conf import settings import requests def upload_to_pinata(file): url = "https://api.pinata.cloud/pinning/pinFileToIPFS" headers = { 'pinata_api_key': settings.PINATA_API_KEY, 'pinata_secret_api_key': settings.PINATA_SECRET_API_KEY, } files = {'file': file} response = requests.post(url, files=files, headers=headers) return response.json().get('IpfsHash') def submit_feedback(request): if request.method == 'POST': message = request.POST.get('message') sender_email = request.POST.get('sender_email') sender_phone = request.POST.get('sender_phone') file = request.FILES.get('media_file', None) media_url = None if file: media_url = upload_to_pinata(file) feedback = Feedback.objects.create( message=message, sender_email=sender_email, sender_phone=sender_phone, media_url=media_url ) # Send SMS using Twilio client = Client(settings.TWILIO_ACCOUNT_SID, settings.TWILIO_AUTH_TOKEN) client.messages.create( body=f"Feedback received from {sender_phone}: {message}", from_=settings.TWILIO_PHONE_NUMBER, to=sender_phone ) return HttpResponse("Feedback submitted successfully!") return render(request, 'feedback_form.html')
यह दृश्य फॉर्म सबमिशन को संभालता है, वैकल्पिक मीडिया को पिनाटा पर अपलोड करता है, और ट्विलियो का उपयोग करके एसएमएस भेजता है।
2.3. फीडबैक फॉर्म बनाना
फीडबैक सबमिट करने के लिए एक HTML फॉर्म बनाएं। अपने टेम्प्लेट फ़ोल्डर में, फीडबैक_फॉर्म.html बनाएं:
{% load static %}Submit Feedback Submit Feedback
सामने वाले हिस्से की छवि
पिनाटा डैशबोर्ड की छवि अपलोड की गई फ़ाइलें दिखा रही है
3.1. पर्यावरण चर सेट करें
ट्विलियो और पिनाटा एपीआई कुंजी जैसी संवेदनशील जानकारी संग्रहीत करने के लिए अपने प्रोजेक्ट की रूट निर्देशिका में एक .env फ़ाइल बनाएं:
SECRET_KEY=your-django-secret-key DEBUG=True TWILIO_ACCOUNT_SID=your_twilio_account_sid TWILIO_AUTH_TOKEN=your_twilio_auth_token TWILIO_PHONE_NUMBER=your_twilio_phone_number PINATA_API_KEY=your_pinata_api_key PINATA_SECRET_API_KEY=your_pinata_secret_api_key
अपनी .gitignore फ़ाइल में .env जोड़ना सुनिश्चित करें ताकि इसे GitHub पर न भेजा जाए:
.env
3.2. पर्यावरण चर का उपयोग करने के लिए सेटिंग्स.py को अपडेट करें
.env फ़ाइल से पर्यावरण चर को सुरक्षित रूप से लोड करने के लिए पायथन-डिकौपल का उपयोग करें:
from decouple import config SECRET_KEY = config('SECRET_KEY') DEBUG = config('DEBUG', default=False, cast=bool) TWILIO_ACCOUNT_SID = config('TWILIO_ACCOUNT_SID') TWILIO_AUTH_TOKEN = config('TWILIO_AUTH_TOKEN') TWILIO_PHONE_NUMBER = config('TWILIO_PHONE_NUMBER') PINATA_API_KEY = config('PINATA_API_KEY') PINATA_SECRET_API_KEY = config('PINATA_SECRET_API_KEY')
4.1. Git प्रारंभ करें और GitHub पर पुश करें
git init git add . git commit -m "Initial commit for feedback system"
git remote add origin https://github.com/yourusername/feedback-system.git
git push -u origin main
इस ट्यूटोरियल में, आपने एसएमएस सूचनाओं के लिए Django, ट्विलियो और मीडिया अपलोड के लिए पिनाटा का उपयोग करके एक सुरक्षित अनाम फीडबैक सिस्टम बनाया है। आपने यह भी सीखा है कि अपने प्रोजेक्ट को GitHub पर कैसे धकेलें और पर्यावरण चर का उपयोग करके संवेदनशील जानकारी को कैसे सुरक्षित करें। यह प्रणाली उपयोगकर्ताओं को फीडबैक सबमिट करने और एसएमएस सूचनाएं प्राप्त करने में सक्षम बनाते हुए गोपनीयता सुनिश्चित करती है।
अधिक सुविधाएं जोड़कर या सुरक्षा बढ़ाकर सिस्टम को और विस्तारित करने के लिए स्वतंत्र महसूस करें। यदि आपको यह मार्गदर्शिका उपयोगी लगी, तो टिप्पणियों में अपनी प्रतिक्रिया या प्रश्न साझा करें!
प्रोजेक्ट का रेपो यहां पाया जा सकता है: रेपो
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3