■ JITHub 개발일지 20일차
□ TIL(Today I Learned) ::
파이썬 Django Models 정의
1. Django 프로젝트를 생성하고 실행시켜 접속해보기
- 오늘의 목표 : 파이참의 프로젝트 자동 생성 및 프로젝트 실행 기능 없이 명령어로만 문제 풀어보기
- 사용할 명령어
python -m venv venv` : 가상 환경 생성하기
venv\scripts\activate` : (windows)가상 환경 접속하기
source ./venv/bin/activate` : (mac) 가상 환경 접속하기
pip install django` : django 패키지 설치하기
django-admin startproject $프로젝트이름 .` : 현재 경로에 원하는 이름으로 프로젝트 생성하기
python manage.py startapp $앱이름` : 원하는 이름으로 앱 만들기
python manage.py runserver` : 장고 프로젝트 실행하기
python manage.py makemigrations` : 데이터베이스 마이그레이션 파일 생성
python manage.py migrate` : 데이터베이스 마이그레이션 적용
python manage.py createsuperuser` : 관리자 계정 생성하기
① models.py에 AccessLog 테이블을 생성
- 필드
- created_at : 데이터가 생성된 시간을 알 수 있도록 datetimefield 사용
- location : 사용자가 어떤 template에 접근했는지 알 수 있도록 charfield 사용
② 생성된 테이블을 makemigrations / migrate 명령어를 통해 db에 반영
③ 생성한 테이블을 admin.py에 등록
④ 사용자가 introduce 페이지에 접속했을 때, 접속 로그를 남기기
- admin 페이지에서 로그를 봤을 때 언제 어떤 페이지에 접속했는지 알 수 있어야 합니다.
- 로그를 저장할 때는 어떤 탬플릿을 조회했는지도 확인할 수 있도록 해주세요
⑤ admin 페이지에 접속해서 접속 기록을 확인
class AccessLog(models.Model):
"""
1. default : 기본적으로 사용될 날짜를 사용자가 지정
2. auto_now : 데이터가 수정 될 때마다 갱신됨
3. auto_now_add : 데이터가 생성될 때 시간을 기록
"""
created_ad = models.DateTimeField("접속 시간", auto_now_add=True)
location = models.CharField("접속 경로", max_lenght=50)
def __str__(self)"
return f"{self.created_at} / {self.locations}"
Field는 read_only 속성을 기본적으로 갖고 있다.
def introduce(request):
# case 1
"""
access_log = AccessLog()
access_log.location = "introduce"
access_log.save()
"""
# case 2
AccessLog.objects.create(
locations="introduce"
)
return render(request, 'introduce.html')
test 답안 : https://github.com/JayJin/sparta_test
□ TIF(Today I Felt) ::
- 정확한 문제 이해와 간단한 개념만 잡혀있다면 별다른 패키지 없이도 풀 수 있는 문제를 붙잡고 있었다.
- 조금씩 django의 구조가 이해되는듯 하지만, 하루가 너무 짧다...
반응형
'DEV > Web 개발' 카테고리의 다른 글
Web 개발 :: 파이썬 django 인스타그램 클론 코딩, aullauth _TIL#23 (1) | 2022.10.04 |
---|---|
Web 개발 :: 파이썬 django User, CRUD, Allauth _TIL#21 (0) | 2022.09.28 |
Web 개발 :: 파이썬 django, MTV, 뷰, 템플릿 등 _TIL#19 (0) | 2022.09.27 |
파이썬 웹 프로그래밍 :: 9월 넷째주 WIL #04 (0) | 2022.09.26 |
Web 개발 :: 파이썬 django, 가상환경 셋팅 등 _TIL#18 (0) | 2022.09.26 |
댓글