في هذا الدليل، سأرشدك عبر إنشاء نظام تعليقات مجهول المصدر باستخدام Django، وTwilio لإشعارات الرسائل القصيرة، وPinata لتحميلات الوسائط الآمنة، وTailwindCSS للتصميم سريع الاستجابة. بحلول نهاية هذا البرنامج التعليمي، سيكون لديك نظام تعليقات يعمل بكامل طاقته حيث يمكن للمستخدمين إرسال التعليقات وتحميل الوسائط بشكل اختياري وتلقي إشعارات الرسائل القصيرة - كل ذلك مع وضع الأمان والخصوصية في الاعتبار.
عرض توضيحي: رابط مباشر
1.1. إنشاء وإعداد بيئة افتراضية
ابدأ بإعداد بيئة مشروعك. تأكد من تثبيت Python وإعداد بيئة افتراضية:
python3 -m venv venv source venv/bin/activate
على نظام التشغيل Windows:
venv\Scripts\activate
تثبيت الحزم اللازمة:
pip install django twilio python-decouple requests gunicorn
1.2. ابدأ مشروع جانغو
تهيئة مشروع وتطبيق Django جديد:
django-admin startproject config . python manage.py startapp feedback
2.1. إنشاء نموذج الملاحظات
حدد نموذجًا لتخزين عمليات إرسال التعليقات في Feedback/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}"
يلتقط هذا النموذج التعليقات والبريد الإلكتروني ورقم الهاتف وعناوين URL الاختيارية للوسائط.
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')
يتعامل هذا العرض مع عمليات إرسال النماذج، وتحميل الوسائط الاختيارية إلى Pinata، وإرسال الرسائل القصيرة باستخدام Twilio.
2.3. إنشاء نموذج الملاحظات
قم بإنشاء نموذج HTML لإرسال الملاحظات. في مجلد النماذج الخاص بك، قم بإنشاء Feedback_form.html:
{% load static %}Submit Feedback Submit Feedback
صورة الواجهة الأمامية
صورة للوحة تحكم Pinata تظهر الملفات التي تم تحميلها
3.1. إعداد متغيرات البيئة
قم بإنشاء ملف .env في الدليل الجذر لمشروعك لتخزين المعلومات الحساسة مثل مفاتيح Twilio وPinata API:
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
تأكد من إضافة .env إلى ملف .gitignore الخاص بك حتى لا يتم دفعه إلى GitHub:
.env
3.2. قم بتحديث settings.py لاستخدام متغيرات البيئة
استخدم python-decouple لتحميل متغيرات البيئة بشكل آمن من ملف .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، وTwilio لإشعارات الرسائل القصيرة، وPinata لتحميلات الوسائط. لقد تعلمت أيضًا كيفية دفع مشروعك إلى GitHub وتأمين المعلومات الحساسة باستخدام متغيرات البيئة. يضمن هذا النظام الخصوصية مع تمكين المستخدمين من إرسال الملاحظات وتلقي إشعارات الرسائل القصيرة.
لا تتردد في توسيع النظام بشكل أكبر عن طريق إضافة المزيد من الميزات أو تعزيز الأمان. إذا وجدت هذا الدليل مفيدًا، شارك بتعليقاتك أو أسئلتك في التعليقات!
يمكن العثور على الريبو للمشروع هنا: Repo
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3