Django

استفاده از میل چیمپ در جنگو

میل چیمپ چیست؟

میل چیمپ چیست؟میل چیمپ برای جنگو_میل چیمپ (mailchimp) یک سرویس بازاریابی از طریق ایمیل است که به شما امکان می دهد مشترکان وب سایت خود را برای فعالیت های ایمیل و بازاریابی جمع آوری کنید. API آنها بستری را برای ارسال ایمیل برای مخاطبانی که در وب سایت شما مشترک هستند فراهم می کند.
یک ویژگی اصلی در Mailchimp ، مخاطب است که به آن Lists نیز گفته می شود – اینها مجموعه ای از مشتریانی هستند که تبلیغات بازاریابی شما را دریافت می کنند.
میل چیمپ (mailchimp) یک طرح رایگان دارد که به شما امکان می دهد حداکثر 2000 مشترک داشته باشید. ما برای این آموزش از ردیف رایگان استفاده خواهیم کرد ، اگر بیش از 2000 مشترک داشته باشید می توانید به برنامه های پولی ارتقا دهید.

حالا با وجود آشنایی با میل چیمپ برای جنگو به ادامه کار میپردازیم

ایجاد یک برنامه Django برای اشتراک های ایمیل

اگر قبلاً یک پروژه جنگو دارید ، برنامه جدیدی به نام marketing ایجاد کنید. در غیر این صورت ، یک پروژه جنگو جدید ایجاد کنید و بعد برنامه جدید را ایجاد کنید.

python manage.py startapp marketing


پس یک برنامه جدید با نام marketing ایجاد شده است.
برنامه marketing را در تنظیمات پروژه خود به برنامه های نصب شده خود (installed apps) اضافه کنید و marketing.urls را در URL های پروژه اصلی خود قرار دهید.

settings.py

INSTALLED_APPS = (
…
'marketing'
)

urls.py


راه اندازی اولیه میل چیمپ برای جنگو

from django.urls import include, path

path('marketing/', include('marketing.urls'), app_name='marketing'),
  1. در برنامه marketing خود وارد views.py خود شوید و کد زیر را اضافه کنید:

marketing/views.py

from django.shortcuts import render
from django.contrib import messages

#Create your views here

def subscription(request):
if request.method == "POST":
email = request.POST['email']
print(email)
messages.success(request, "Email received. thank You! ") # message

return render(request, "marketing/index.html")
  1. یک فایل urls.py در برنامه marketing ایجاد کنید و کد زیر را اضافه کنید:
from django.urls import path
from . import views


urlpatterns = [
path("", views.subscription, name="subscription"),
]

در این کد ، ما یک URL path برای ویو subscription ایجاد کردیم و همچنین مسیر URL را ، subscription نامیدیم.

3. بعد در برنامه marketing خود ، یک templates/marketing ایجاد کنید ، سپس یک فایل index.html ایجاد کنید. فایل HTML را با این کد پر کنید:

marketing/templates/marketing/index.html

کدهای html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Email subscriptions</title>

<!-- Bootstrap -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" >
</head>

  <body class="container py-4">


  <!--Email subscription Form -->
    <form method="post" action="{% url 'subscription' %}">
      {% csrf_token %}

      <div class="form-group">
        <label>Subscribe to get the latest Articles</label> <br>
        <input type="email" name="email" placeholder="Enter Email to Subscribe">
        <button class="btn btn-info" type="submit">Submit</button>
      </div>

    </form>

    <!-- message if email is sent -->
  {% if messages %}
    {% for message in messages %}
      <div class="my-5 alert alert-success">
        <h5 class="m-0">
            {{ message }}
        </h5>
      </div>
    {% endfor %}
  {% endif %}

  </body>
</html>

نکته: اگر قبلا بخش عضویت در خبرنامه را در قالب خود ایجاد کرده اید کافی است کد های پایتونی موجود در بالا را در قالب خود جایگذاری کنید.
این یک فایل HTML ساده است که پس از اینکه کاربر ایمیل خود را وارد میکند ایمیل توسط او برای عضویت در خبرنامه ذخیره می شود.

در این مرحله میل چیمپ برای جنگو ، اگر برنامه marketing را اجرا کنید ، یک فرم ساده و یک دکمه ارسال دریافت خواهید کرد.

میل چیمپ


اگر ایمیلی را وارد کنید و submit کنید ، پیامی به شما نشان داده می شود و ایمیل در کنسول / ترمینال چاپ می شود.اما ما نمی خواهیم فقط ایمیل را چاپ کنیم ، بلکه باید آنها را در جایی ذخیره کنیم.
حالا ما باید mailchimp را ادغام کنیم تا وقتی ایمیل ارسال می شود ، وارد لیست ایمیل mailchimp شود.

راه اندازی حساب MailChimp و تولید کلیدهای API.
ابتدا به یک حساب Mailchimp نیاز دارید ، برای ثبت نام به mailchimp.com بروید و یک حساب رایگان راه اندازی کنید.
پس از اتمام ثبت نام در MailChimp ، به داشبورد MailChimp منتقل خواهید شد.

  1. بر روی نماد نمایه کلیک کنید و سپس Account را انتخاب کنید.
میل چیمپ2
  1. شما به صفحه حساب ها منتقل می شوید. موارد اضافی را از میان گزینه ها انتخاب کنید:
میل چیمپ3


3- از گزینه های Dropdown ، روی کلیدهای API کلیک کنید تا به صفحه ای برای تولید کلیدهای API منتقل شوید. به پایین بروید

میل چیمپ4


4- کلیدهای تولید شده را کپی کنید:

میل چیمپ5
  1. اکنون بر روی نماد مخاطب کلیک کنید:
میل چیمپ6
  1. از نوار مخاطب همه مخاطبین را انتخاب کنید
میل چیمپ7


مشاهده می کنید که قبلاً لیست مخاطبان با ایمیل شما به عنوان اولین مخاطب ایجاد شده است. این لیستی است که ایمیل های مشترکانمان را به آن اضافه خواهیم کرد.

  1. روی تنظیمات کلیک کنید.
میل چیمپ8

از لیست کشویی ، Audience name and defaults را انتخاب کنید. شما به تنظیمات لیست مخاطبان منتقل خواهید شد.


8.Audience ID را کپی کنید.

میل چیمپ9


در پایان باید API keys و Audience ID خود را داشته باشید.
تنظیمات پروژه اصلی خود را باز کنید ، به پایین بروید و کد زیر را اضافه کنید:

MAILCHIMP CREDENTIALS

MAILCHIMP_API_KEY = "your_api_key_here"
MAILCHIMP_DATA_CENTER = "the_last_3_characters_of_your_api_key"
MAILCHIMP_EMAIL_LIST_ID = "audience_id_goes_here"


قسمت MAILCHIMP_DATA_CENTER سه حرف آخر در کلید API شما بعد از – است.که معمولا شبیه us2 می باشد.

نصب کتابخانه MailChimp
برای نصب بسته mailchimp_marketing این دستور را در ترمینال خود اجرا کنید:

pip install mailchimp-marketing

این بسته باعث میشود تا پایتون به راحتی به API mailchimp دسترسی پیدا کند. یک کتابخانه django-mailchimp وجود دارد اما پشتیبانی نمی شود ، پس ما از کتابخانه mailchimp-marketing ارائه شده توسط MailChimp استفاده خواهیم کرد.

اصلاح views.py

اکنون در views.py خود ، باید تابعی را بنویسیم که ایمیلی را به عنوان آرگومان در نظر بگیرد و به API mailchimp دسترسی پیدا کند تا آن ایمیل را در لیست مخاطبتان ثبت کند.


from django.shortcuts import render
from django.contrib import messages
from django.conf import settings
from mailchimp_marketing import Client
from mailchimp_marketing.api_client import ApiClientError


#Mailchimp Settings
api_key = settings.MAILCHIMP_API_KEY
server = settings.MAILCHIMP_DATA_CENTER
list_id = settings.MAILCHIMP_EMAIL_LIST_ID

#Subscription Logic
def subscribe(email):
"""
Contains code handling the communication to the mailchimp api
to create a contact/member in an audience/list.
"""
mailchimp = Client()
mailchimp.set_config({
    "api_key": api_key,
    "server": server,
})

member_info = {
    "email_address": email,
    "status": "subscribed",
}

try:
    response = mailchimp.lists.add_list_member(list_id, member_info)
    print("response: {}".format(response))
except ApiClientError as error:
    print("An exception occurred: {}".format(error.text))

#Views here

def subscription(request):
if request.method == "POST":
email = request.POST['email']
subscribe(email) # function to access mailchimp
messages.success(request, "Email received. thank You! ") # message

return render(request, "marketing/index.html")


توضیحاتی درباره اینکه میل چیمپ چیست و نحوه عملکرد میل چیمپ برای جنگو

اول ، ما در حال وارد کردن و دسترسی به اعتبار نامه mailchimp هستیم که در settings.py خود نگه داشته ایم.
بعد subscribe یک ایمیل را به عنوان آرگومان گرفته و آن را با استفاده از کتابخانه بازاریابی mailchimp در لیست مخاطبان شما عضو می کند.
کتابخانه mailchimp-marketing با سرورهای mailchimp در ارتباط است تا ایمیل را به لیست شما اضافه کند.

اجرای برنامه نهایی میل چیمپ برای جنگو

  1. پروژه خود را با دستور python Manage.py runserver اجرا کنید
میل چیمپ10


2.ایمیلی را submit کنید:

میل چیمپ11
میل چیمپ12


3- وارد حساب MailChimp خود شوید تا بررسی کنید آیا ایمیل به لیست مخاطبان شما اضافه شده است یا خیر.

برای چک کردن به مسیر زیر بروید:

(Audience -> All contacts):

میل چیمپ13


حالا می توانید مشترکان بیشتری را به لیست مخاطبان خود اضافه کنید. برای یادگیری نحوه ایجاد کمپین های ایمیل برای مشترکان ، داشبورد Mailchimp را بررسی کنید.

برای یادگیری سئو جنگو بر روی لینک کلیک کنید

کلمات کلیدی:میل چیمپ برای جنگو،میل چیمپ در جنگو،ادغام MailChimp با جنگو،mailchimp django،میل چیمپ چیست

امیرحسین باقری

امیرحسین باقری هستم عاشق برنامه نویسی مخصوصا با python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به HTML, CSS, Bootstrap, Flexbox, SASS, Python, Django, DRF و هوش مصنوعی اشاره کرد.

دیدگاهتان را بنویسید

دکمه بازگشت به بالا