python django에서 GoogleAnaritics를 소개하고 싶습니다! ! !

안녕하세요! ! !
파이썬, 장고에 Google 애널리틱스를 도입하는 데 성공했습니다! !
전제조건으로서 GoogleAnaritics는 이미 등록되어 있고 이 화면을 낼 수 있는 것.


분명히 말해서 이것을 보면 할 수 있습니다.
htps : // m / ch t 등 / / ms / 43c3 581c0c8d632cdc5

다만 한층 더 초보자용으로 보충 해설하려고 생각 여기에 쓰기로 했습니다.
애플리케이션의 views.py 또는 apps.py가있는 곳
context_processors.py

라는 이름으로 파일을 만듭니다.
그건 그렇고, 나는 하나의 장고 프로젝트에 polls 응용 프로그램과 보드 응용 프로그램의 두 가지 응용 프로그램을 만들었기 때문에 context_processors.py는 두 가지를 만들었습니다.

내용은 이렇게 씁니다.
from django.conf import settings

def google_analytics(request):
    ga_tracking_id = getattr(settings, 'GOOGLE_ANALYTICS_TRACKING_ID', False)

    if not settings.DEBUG and ga_tracking_id:
        return {
            'GOOGLE_ANALYTICS_TRACKING_ID': ga_tracking_id,
        }
    return {}


htps : // m / ch t 등 / / ms / 43c3 581c0c8d632cdc5
내 코드보다 원래 사이트의 코드가 해설도 붙어있어 좋다고 생각합니다!
하나 보충한다면
settings

라고 쓰는 부분. 나는 로컬 환경과 서버 환경에서 pro_settings와 settings.py를 구분하고 있지만, 별도로 pro_settings.py로 다시 쓰지 않아도 제대로 작동합니다.
pro_settings.py는 setting.py에서 변경하고 싶은 곳만 덮어 쓰고 있고 다른 것은 그대로 읽고있는 것만이므로 당연하지만 ....

이제 setting.py의 설정을 변경하십시오.

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # 404ページ用に記載
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'polls.context_processors.google_analytics',←追加
         'board.context_processors.google_analytics',←追加
            ],
        },
    },
]


추가 부분은
アプリケーション名.context_processors.google_analytics'

응용 프로그램에서 google_anaritics를 사용할 수 있도록합니다.
방금 전도 말했지만 나는 프로젝트 내에 2개의 어플리케이션이 있으므로 2개 썼습니다.

추가 settings.py 어딘가에 다음을 추가
GOOGLE_ANALYTICS_TRACKING_ID = 'トラッキングID'

추적 ID는이 이미지의 빨간색으로 숨겨진 부분입니다.


그런 다음 html이 저장된 디렉토리에 ga.html이라는 파일을 만듭니다.
내용은 이렇게.
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=トラッキングID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'トラッキングID');
</script>



그렇다면 이것은


여기에 작성된 코드와 정확히 동일합니다.
즉 GoogleAnaritics를 로드하는데 주어진 코드를 ga.html에 기재하고 있네요.
다만 이것에서는 ga.html에서 밖에 이 코드는 반영되어 있지 않으므로 그 외에 페이지에서도 사용할 수 있도록 설정을 합니다.
base.html 부분에 다음과 같이 기재하십시오.
{% if GOOGLE_ANALYTICS_TRACKING_ID %}
    {% include 'アプリケーション名/ga.html' %}
{% endif %}

1. GOOGLE_ANALYTICS_TRACKING_ID가 True이면
2.ga.html 로드

1. GOOGLE_ANALYTICS_TRACKING_ID는 settings.py에서
GOOGLE_ANALYTICS_TRACKING_ID = 'トラッキングID'

로 설정했으며,
2.ga.html도 방금 만들었습니다.

아! 당연한 이야기이지만 실제로 여러가지 움직이고 싶은 html의 맨 위에 제대로
{% extends 'アプリケーション名/base.html' %}

라고 쓰지 않으면 base.html이 로드되지 않기 때문에 ga.html도 로드되지 않고 GoogleAnaritics 할 수 없기 때문에.
알겠다고 생각합니다만.

서버 환경에서는 DEBUG는 False가 되어 있을 것이므로 이것으로 배포를 하면, GoogleAnaritics가 읽을 수 있을 것이다.

좋은 웹페이지 즐겨찾기