Django7 Admin Site Automatic admin interface 사용자가 아닌 서버 관리자를 위한 페이지 모델에서 생성한 클래스를 admin.py 에 등록하고 관리한다. 특히 record (행 데이터) 생성을 확인할 때 매우 유용하다. 직접 데이터를 넣고 테스트도 가능함 admin 생성 $ python manage.py createsuperuser 위와 같이 계정 생성 후 /admin 페이지로 이동하여 로그인한다. 내가 만든 데이터를 확인하기 위해서는 admin.py 에서 등록을 해줘야 함 admin 등록 admin.site.register(Article) 는 Article 객체가 관리 인터페이스를 갖고 있다는 것을 의미한다. models.py 에 정의한 __str__ 의 형태로 객체가 표현된다. list_display .. 2021. 9. 5. Migrations Migrations Migrations django가 model에 생긴 변화를 데이터베이스에 반영하는 방법 model에 생긴 변화로는 필드 추가, 모델 삭제 등이 있을 수 있음!! Migration 실행 및 DB 스키마를 다루기 위한 몇 가지 명령어가 존재한다. makemigrations migrate sqlmigrate showmigrations commands # Migration command $ python manage.py makemigrations $ python manage.py migrate $ python manage.py sqlmigrate app_name 001 $ python manage.py showmigrations makemigrations 모델을 변경한 것에 기반한 새로운 m.. 2021. 9. 5. ORM ORM ORM Object-Relational-Mapping 객체 지향 프로그래밍 언어를 사용하여, 호환되지 않는 유형의 시스템간의 데이터를 변환하는 프로그래밍 기술 (ex. Django - SQL) OOP 프로그래밍에서 RDBMS(관계형 데이터베이스 시스템)를 연동할 때, 데이터베이스와 객체 지향 프로그래밍 언어 간 호환되지 않는 데이터를 변환하는 프로그래밍 기법 django는 내장 django ORM 을 사용한다. (내가 그린 ORM 그림...) 장점과 한계점 장점 SQL을 잘 알지 못해도 데이터베이스에 대한 조작이 가능하다. SQL의 절차적 접근이 아닌 객체 지향적 접근으로 인해 높은 생산성을 만들어 낼 수 있음 한계점 ORM만으로 완전한 서비스 구현을 하기 어려운 경우가 있다. 결국 데이터베이스에.. 2021. 9. 5. Namespace namespace(이름공간) 이름공간은 객체를 구분할 수 있는 범위를 나타내는 말로 일반적으로 하나의 이름 공간에서는 하나의 이름이 단 하나의 객체만을 가리키게 된다. 변수명, 함수명을 겹치지 않게 정의하는 것이 프로그래밍에서 굉장히 중요 django 는 다음과 같은 방법으로 이름이 겹치는 문제를 해결한다. 서로 다름 app의 같은 이름을 가진 url name은 이름공간을 설정해서 구분한다. templates, static 등에 대해 django는 정해진 경로 하나로 모아서 본다. 따라서, 중간에 임의로 폴더를 하나 만들어서 이름공간을 설정해줘야 한다. URL namespace 서로 다른 앱에서 동일한 URL 이름을 사용하는 경우? urls.py 에 "app_name" attribute 값을 작성한다!!.. 2021. 9. 5. 이전 1 2 다음