본문 바로가기

Til

Til 24.04.16장고 템플릿폴더 설정, 관리자 계정설정

spartamarket/
├── spartamarket/
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── accounts/
│   ├── templates/
│   │   └── accounts/
│   │       ├── login.html
│   │       └── register.html
│   └── ...
├── products/
│   ├── templates/
│   │   └── products/
│   │       ├── post_list.html
│   │       └── post_detail.html
│   └── ...
└── templates/
    ├── base.html
    └── index.html

 

 

장고에서 관리자 설정

admin.py - 모델을 관리자 인터페이스에 등록하는 방법

=>이를 통해 모델의 데이터를 쉽게추가 수정 삭제 할수 있게함

관리자 페이지 에서 모델의 데이터를 보고 관리할수 있어서 편함

 

스파르타 마켓에서 post model을 admin.py에 등록하기

spartamarket/products

 

models.py

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    image = models.ImageField(upload_to='posts/')
    price = models.DecimalField(max_digits=10, decimal_places=2)
    address = models.CharField(max_length=255)
    likes = models.PositiveIntegerField(default=0)

    def __str__(self):
        return self.title

 

 

admin.py에 모델 등록하기

admin.py 파일을 열고 다음과 같이 Post 모델을 등록

 

from django.contrib import admin
from .models import Post

# Post 모델을 관리자 페이지에서 볼 수 있도록 등록
admin.site.register(Post)


 

 

데이터베이스 마이그레이션 실행

터미널창

python manage.py makemigrations
python manage.py migrate

 

  • 브라우저에서 http://127.0.0.1:8000/admin으로 접속
  • 관리자 계정으로 로그인(계정이 없다면 python manage.py createsuperuser를 통해 생성).
  • 관리자 페이지에서 Post 모델을 확인하고 데이터를 관리

python manage.py makemigrationspython manage.py migrate는 Django 웹 프레임워크에서 데이터베이스와 관련된 작업을 수행하는 명령어

  • python manage.py makemigrations: 이 명령어는 Django 프로젝트의 앱에서 모델(데이터베이스 구조)에 대한 변경 사항을 감지하고, 이러한 변경 사항을 적용하기 위한 마이그레이션 파일을 생성 , 이 파일은 데이터베이스 구조를 변경하는 데 필요한 작업을 담고 있음
  • python manage.py migrate: 이 명령어는 생성된 마이그레이션 파일을 사용하여 실제 데이터베이스에 변경 사항을 적용, 이를 통해 데이터베이스 구조가 앱의 모델 변경 사항에 따라 업데이트

==> 두 명령어는 Django 프로젝트의 모델 변경 사항을 데이터베이스에 적용하는 과정을 담당