본문 바로가기
728x90
반응형
SMALL

App Programming/Django30

[Django] 기본 요소 (2) Viewsets 모델의 컨트롤러들의 집합이다. 일반적으로 객체 생성과 객체 리스트 조회, 객체 상세 조회, 객체 수정, 객체 삭제가 있다. queryset serializer_class permission_classes ulrs.py URL은 웹 주소이다. 웹사이트를 방문할 때마다 URL을 볼 수 있다. URL은 브라우저의 주소 표시줄에 표시된다. as_view : HTTP 메서드와 컨트롤러를 매칭 AbstractUser 사용자 정의 회원 모델을 위한 Django의 추상 모델이다. 필요한 필드가 있다면 하위 모델에서 정의한다. USERNAME_FIELD : 사용자를 식별하는데 사용 REQUIRED_FIELDS : USERNAME 필드는 항상 필수 settings.py에 AUTH_USER_MODEL 설정 .. 2023. 2. 20.
[Django] 기본 요소 (1) 모델 장고는 모델 (Model)을 이용하여 데이터베이스를 처리한다. 보통 데이터베이스에 데이터를 저장하고 조회하기 위해서 SQL 쿼리문을 이용해야 하지만 장고의 모델 (Model)을 사용하면 이런 SQL 쿼리문의 도움없이 데이터를 쉽게 처리할 수 있다. 모델 데이터베이스 테이블 필드 데이터베이스 속성 매니저 Manager는 Django Model에 제공되는 데이터베이스 쿼리 인터페이스이다. 모든 Model은 하나 이상의 Manager를 가지게 된다. 데이터베이스 관련 동작을 정의한다. 장고는 웹 요청 ➡ urls.py ➡ view ➡ 모델 ➡ 데이터베이스의 데이터 흐름을 가지고 있다. Django REST Framework (DRF) Django의 REST API를 위한 프레임워크이다. 웹 탐색 ​​가능.. 2023. 2. 20.
[Django] Search (검색 기능) Search (검색 기능) 웹 애플리케이션의 일반적인 작업은 사용자 입력으로 데이터베이스의 일부 데이터를 검색하는 것이다. 간단한 경우 범주별로 개체 목록을 필터링할 수 있다. 보다 복잡한 사용 사례에서는 가중치, 범주화, 강조 표시, 여러 언어 등을 사용한 검색이 필요할 수 있다. home.html topics별로 browse 가능한 home.html을 구현한다. {% extends 'main.html' %} {% block content %} Browse Topics All {% for topic in topics %} {{topic.name}} {% endfor %} {{room_count}} rooms available Create Room {% for room in rooms %} Edit De.. 2023. 2. 17.
[Django] CRUD CRUD (Create, Read, Update, Delete) CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create (생성), Read (읽기), Update (갱신), Delete (삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능 (정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. home.html update와 delete가 추가된 home.html을 만든다. {% extends 'main.html' %} {% block content %} Home Template Create Room {% for room in rooms %} Edit Delete @{{room.host.username}} {{room.id}} -- {{room.nam.. 2023. 2. 17.
[Django] Admin (Room) Admin Django Admin을 이용해서 관리자 사이트에 모델을 등록하고 이후 로그인하여 데이터를 추가할 수 있다. 터미널에서 다음 코드를 입력하여 슈퍼 계정을 생성한다. python manage.py createsuperuser 그 다음, http://127.0.0.1:8000/admin/에서 앞서 생성한 슈퍼 계정으로 로그인하면 관리자 페이지로 접속 가능하다. models.py from django.db import models from django.contrib.auth.models import User class Topic(models.Model): name = models.CharField(max_length = 200) def __str__(self): return self.name cla.. 2023. 2. 17.
[Django] 템플릿 (Templates) (2) main.html 장고에서는 base 폴더 안에 템플릿을 추가하도록 권장하고 있다. {% include 'navbar.html' %} {% block content %} {% endblock %} home.html {% extends 'main.html' %} {% block content %} Home Template {% for room in rooms %} {{room.id}} -- {{room.name}} {% endfor %} {% endblock content %} room.html {% extends 'main.html' %} {% block content %} {{room.name}} {% endblock content %} views.py base 폴더의 views.py를 다음과 같이 작.. 2023. 2. 2.
[Django] 템플릿 (Templates) (1) 템플릿 (Templates) 템플릿은 HTML 파일로써 프로젝트 폴더에 "templates" 서브 폴더를 만들고 그 안에 템플릿 파일 (*.html)을 생성한다. 템플릿을 사용해서 html 파일과 views.py를 이용해 연동할 수 있다. 다음 코드를 실행하여 base 폴더를 생성하고 그 안에 home과 room의 html을 만든다. python manage.py startapp base # home.html Home Template # room.html Room Template 그 다음, base 폴더에서 urls.py 파일을 만들고 아래와 같이 작성한다. from django.urls import path from . import views urlpatterns = [ path('', views.ho.. 2023. 2. 1.
[Django] URL's / Views URL's 인터넷의 모든 페이지에는 고유한 URL이 필요하다. 프로그램은 해당 URL을 여는 사용자에게 무엇을 표시해야 하는지 알 수 있다. 장고에서는 URLconf (URL 구성)라는 것을 사용한다. URLconf는 장고가 올바른 보기를 찾기 위해 요청한 URL과 일치하도록 시도하는 패턴의 집합이다. 프로젝트 이름으로 생성한 폴더에서 setting.py에 다음을 추가한다. # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.con.. 2023. 2. 1.
[Django] 환경 설정 가상 환경 https://goatlab.tistory.com/1134을 참고하여 프로그래밍 환경을 맞춘다. virtualenv env 그 다음, 가상 환경을 활성화한다. .\env\Scripts\activate 장고 관리자로 프로젝트를 생성한다. django-admin startproject "프로젝트 이름" 프로젝트 폴더로 이동하고 manage 파일을 실행한다. cd "프로젝트 이름" python manage.py runserver http://127.0.0.1:8000/ 링크로 홈페이지를 연다. 2023. 2. 1.
장고 (Django) 장고 (Django) 장고 (Django)는 파이썬으로 작성된 오픈 소스 웹 프레임워크로, 모델-템플릿-뷰 (MTV) 패턴을 따르고 있다. 현재는 장고 소프트웨어 재단에 의해 관리되고 있다. 2003년 로렌스 저널-월드 신문을 만들던 웹 개발팀의 내부 프로젝트로 시작되었으며, 2005년 오픈소스 프로젝트로 공개되었다. 구글의 웹 어플리케이션 엔진에 장고가 사용되면서 인기를 얻게 되었다. 제공하는 기능이 풍부하여 쉽고 빠른 웹 개발이 가능하다. 고도의 데이터베이스 기반 웹사이트를 작성하는 데 있어서 수고를 더는 것이 장고의 주된 목표이다. 장고는 콤포넌트의 재사용성(reusability)과 플러그인화 가능성 (pluggability), 빠른 개발 등을 강조하고 있다. 또한, "DRY (Don't repea.. 2023. 1. 31.
728x90
반응형
LIST