"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Django, Twilio और Pinata के साथ एक सुरक्षित अनाम फीडबैक सिस्टम का निर्माण

Django, Twilio और Pinata के साथ एक सुरक्षित अनाम फीडबैक सिस्टम का निर्माण

2024-11-06 को प्रकाशित
ब्राउज़ करें:415

इस गाइड में, मैं आपको Django, एसएमएस नोटिफिकेशन के लिए ट्विलियो, सुरक्षित मीडिया अपलोड के लिए पिनाटा और रिस्पॉन्सिव स्टाइलिंग के लिए टेलविंडसीएसएस का उपयोग करके एक सुरक्षित अनाम फीडबैक सिस्टम बनाने के बारे में बताऊंगा। इस ट्यूटोरियल के अंत तक, आपके पास एक पूरी तरह कार्यात्मक फीडबैक प्रणाली होगी जहां उपयोगकर्ता फीडबैक सबमिट कर सकते हैं, वैकल्पिक रूप से मीडिया अपलोड कर सकते हैं, और एसएमएस सूचनाएं प्राप्त कर सकते हैं - यह सब सुरक्षा और गोपनीयता को ध्यान में रखते हुए।

डेमो: लाइव लिंक

प्रमुख विशेषताऐं:

  • गुमनाम फीडबैक सबमिशन: उपयोगकर्ता गुमनाम रूप से फीडबैक या समर्थन अनुरोध सबमिट कर सकते हैं।
  • सुरक्षित मीडिया अपलोड: उपयोगकर्ता आईपीएफएस पर संग्रहीत पिनाटा के माध्यम से मीडिया फ़ाइलों को सुरक्षित रूप से अपलोड कर सकते हैं।
  • ट्विलिओ एसएमएस सूचनाएं: ट्विलिओ के माध्यम से उपयोगकर्ताओं को स्वचालित रूप से एसएमएस पुष्टिकरण भेजता है।
  • उत्तरदायी यूआई: एक सहज, आधुनिक डिजाइन के लिए टेलविंडसीएसएस के साथ स्टाइल किया गया।

प्रयुक्त प्रौद्योगिकियाँ:

  • Django: फीडबैक सिस्टम के लिए बैकएंड फ्रेमवर्क।
  • ट्विलिओ: एसएमएस सूचनाएं संभालता है।
  • पिनाटा: आईपीएफएस-आधारित सुरक्षित मीडिया भंडारण प्रदान करता है।
  • टेलविंडसीएसएस: रिस्पॉन्सिव फ्रंटएंड स्टाइलिंग के लिए।

चरण 1: प्रोजेक्ट सेटअप और निर्भरताएँ

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: फीडबैक सबमिशन सिस्टम बनाएं

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

{% csrf_token %}

Building a Secure Anonymous Feedback System with Django, Twilio, and Pinata
सामने वाले हिस्से की छवि

Building a Secure Anonymous Feedback System with Django, Twilio, and Pinata
पिनाटा डैशबोर्ड की छवि अपलोड की गई फ़ाइलें दिखा रही है

चरण 3: ट्विलियो और पिनाटा को कॉन्फ़िगर करना

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: GitHub पर पुश करना

4.1. Git प्रारंभ करें और GitHub पर पुश करें

  1. अपने प्रोजेक्ट के मूल में एक Git रिपॉजिटरी आरंभ करें:

git init
git add .
git commit -m "Initial commit for feedback system"


  1. अपने GitHub रिपॉजिटरी को रिमोट के रूप में जोड़ें और अपने प्रोजेक्ट को आगे बढ़ाएं:

git remote add origin https://github.com/yourusername/feedback-system.git
git push -u origin main




निष्कर्ष

इस ट्यूटोरियल में, आपने एसएमएस सूचनाओं के लिए Django, ट्विलियो और मीडिया अपलोड के लिए पिनाटा का उपयोग करके एक सुरक्षित अनाम फीडबैक सिस्टम बनाया है। आपने यह भी सीखा है कि अपने प्रोजेक्ट को GitHub पर कैसे धकेलें और पर्यावरण चर का उपयोग करके संवेदनशील जानकारी को कैसे सुरक्षित करें। यह प्रणाली उपयोगकर्ताओं को फीडबैक सबमिट करने और एसएमएस सूचनाएं प्राप्त करने में सक्षम बनाते हुए गोपनीयता सुनिश्चित करती है।

अधिक सुविधाएं जोड़कर या सुरक्षा बढ़ाकर सिस्टम को और विस्तारित करने के लिए स्वतंत्र महसूस करें। यदि आपको यह मार्गदर्शिका उपयोगी लगी, तो टिप्पणियों में अपनी प्रतिक्रिया या प्रश्न साझा करें!

प्रोजेक्ट का रेपो यहां पाया जा सकता है: रेपो

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/chidoziemanagwu/building-a-secure-anonymous-feedback-system-with-django-twilio-and-pinata-4bh?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग से संपर्क करें @163.com हटाएं
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3