Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Django 프로젝트에 소셜 공유 버튼 추가하는 방법 완벽 가이드

대부분의 웹사이트에서 소셜 공유 버튼을 쉽게 찾아볼 수 있습니다. 이러한 버튼은 전자상거래 사이트나 블로그, 제휴 마케팅 사이트에서 매우 중요한 역할을 합니다. 웹 개발자라면 누구나 자신의 웹사이트를 방문자들이 좋아하고, 방문자들이 소셜 미디어를 통해 자발적으로 사이트를 널리 알려주기를 바랄 것입니다.

이 글에서는 Django를 활용해 자동화된 웹사이트 소셜 공유 버튼을 만드는 방법을 단계별로 살펴보겠습니다.

실습 예제

1. 프로젝트 및 앱 생성

먼저 Django 프로젝트와 앱을 생성합니다.

2. django-social-share 패키지 설치

소셜 공유 기능을 손쉽게 구현할 수 있도록 도와주는 django-social-share 패키지를 설치합니다.

pip install django-social-share

3. settings.py 설정

settings.py 파일의 INSTALLED_APPS 목록에 django_social_share 앱을 추가합니다.

INSTALLED_APPS += ['django_social_share']

4. 프로젝트 urls.py 설정

프로젝트의 urls.py 파일을 아래와 같이 작성하여 앱의 URL을 연결합니다.

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('socialShare.urls')) # 앱의 urls 파일
]

5. 앱 urls.py 설정

앱의 urls.py 파일에서 뷰(view)를 렌더링하도록 경로를 설정합니다.

from django.urls import path,include
from . import views
urlpatterns = [
    path('', views.home, name="home")
]

6. views.py 작성

views.py 파일에 홈 페이지를 렌더링하는 간단한 함수를 작성합니다.

from django.shortcuts import render

# 여기에 뷰를 생성합니다.
def home(request):
    return render(request,"home.html")

여기서는 프론트엔드 HTML 파일을 단순히 렌더링하는 방식으로 구현했습니다.

7. 템플릿 생성

앱 폴더 안에 templates 폴더를 만들고, 그 안에 home.html 파일을 생성한 후 다음과 같이 작성합니다.

<!DOCTYPE html>
<html>
    <head>
        <title>TUT</title>
    </head>
    <body>
        {% load social_share %}
        {% post_to_facebook object_or_url "<p style='color: green;'>facebook</p>" %}
        {% post_to_linkedin object_or_url %}
        {% post_to_telegram "New Song: " object_or_url %}
    </body>
</html>

위 코드에서는 프론트엔드 HTML을 작성하고, {% load social_share %} 태그로 라이브러리를 로드한 뒤, post_to_(소셜 미디어 이름) 형식의 템플릿 태그 뒤에 object_or_url을 지정하여 어떤 소셜 미디어에 무엇을 공유할지 설정했습니다. object_or_url에는 웹사이트 링크가 전달됩니다.

템플릿 태그 안에 원하는 스타일, 클래스, 아이콘 등 어떤 요소든 자유롭게 추가할 수 있습니다. 이제 실제 출력 결과가 어떻게 보이는지 확인해 보겠습니다.

실행 결과

Django 프로젝트에 소셜 공유 버튼 추가하는 방법 완벽 가이드

이처럼 django-social-share 패키지를 활용하면 복잡한 API 연동 없이도 페이스북, 링크드인, 텔레그램 등 다양한 소셜 미디어 공유 버튼을 몇 줄의 코드만으로 간편하게 구현할 수 있습니다. 추가로 트위터, WhatsApp 등 다른 플랫폼도 유사한 템플릿 태그(post_to_twitter 등)로 지원되므로, 필요에 따라 확장하여 사용하시기 바랍니다.