오늘은 장고의 admin페이지 기능 중, 언제 어느 템플릿에 접속하였는지 로그를 데이터베이스에 남기는 기능을 만들어보겠습니다.
먼저 models.py에 AccessLog 테이블을 만들어서 안에 필드 두개를 넣어주도록 하겠습니다.
- created_at : 데이터가 생성된 시간을 알 수 있도록 datetimefield 사용
- location : 사용자가 어떤 template에 접근했는지 알 수 있도록 charfield 사용
created_at = models.DateTimeField("접속 시간", auto_now_add=True)
location = models.CharField("접속 경로", max_length=50)
이렇게 생성된 테이블을 장고에 등록해주도록 하겠습니다.
python manage.py makemigrations
python manage.py migrate
이제 생성한 테이블을 admin.py에 등록하도록 하겠습니다.
from django.contrib import admin
from .models import AccessLog
# Register your models here.
admin.site.register(AccessLog) # 이 코드가 나의 AccessLog를 Admin에 추가 해 줍니다
이제 제일 중요한 views.py를 편집하도록 하겠습니다.
from os import access
from django.shortcuts import render
from introduce.models import AccessLog
def first_view(request):
access_log = AccessLog()
access_log.location = "introduce"
access_log.save()
return render(request, 'introduce.html')
마지막으로 models.py에 함수를 하나 추가해서 시각이 예쁘게 보이도록 해주겠습니다.
def __str__(self):
return f"{self.created_at} / {self.location}"

잘 나오는군요!
'TTL > 5주차 ~ 8주차 TIL (9.26 ~ 10.21)' 카테고리의 다른 글
| 2022-10-04 TIL (장고django 비밀번호 변경 기능) (0) | 2022.10.05 |
|---|---|
| 2022-09-30 TIL (장고 소셜로그인 기능 구현하기) (0) | 2022.10.03 |
| 2022-09-29 TIL (인스타그램 클론코딩 프로젝트 SA) (0) | 2022.09.30 |
| 2022-09-28 TIL (User Model 확장하기) (0) | 2022.09.28 |
| 2022-09-26 TIL (간단한 장고 프로젝트 생성 및 실행) (0) | 2022.09.27 |