Django에서 모델 만들기 - 초보자를 위한 자습서
이 문서는 처음부터 새 앱을 코딩하고 대부분 터미널을 사용하여 초보자가 프레임워크Create a Model in Django 방법을 이해하도록 돕는 것을 목표로 합니다. 샘플 소스 코드는 Github(MIT License)에서 다운로드하여 취미 및 상용 제품으로 확장할 수 있습니다. 초보자를 위해 Django는 숙련된 개발자가 구축한 고급 Python 웹 프레임워크로 신속한 개발과 깨끗하고 실용적인 디자인을 장려합니다.
Thanks for reading! - Content provided by App Generator.
Create Model in Django - 소스 코드(Github/MIT 라이선스)
장고를 코딩하자
Check Python Version - recommended version is Python3
$ python --version
Python 3.8.4 <-- All good, we have a 3.x version
Create/activate a virtual environment - Unix-based system
$ virtualenv env
$ source env/bin/activate
Windows의 경우 구문이 약간 다릅니다.
$ virtualenv env
$ .\env\Scripts\activate
Install Django
$ pip install django
Create a new Django Project
$ mkdir django-create-model
$ cd django-create-model
새 디렉토리 내에서
startproject
하위 명령을 호출합니다.$ django-admin startproject config .
참고: 명령 끝에 있는
.
를 고려하십시오.Setup the database
$ python manage.py makemigrations
$ python manage.py migrate
Start the app
$ python manage.py runserver
$
$ # Access the web app in browser: http://127.0.0.1:8000/
이 시점에서 브라우저에 기본 Django 페이지가 표시되어야 합니다.
Create a new Django application
$ python manage.py startapp sample
기본 SQL 설정 시각화 -
config/settings.py
# File: config/settings.py (partial content)
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
...
Books
애플리케이션에서 새 모델sample
을 정의합니다. 아래 변경 사항이 sample/models.py
에 추가되어야 합니다.# File: sample/models.py
from django.db import models
class Book(models.Model): # <- NEW
title = models.CharField(max_length=100) # <- NEW
author = models.CharField(max_length=100) # <- NEW
publication_date = models.DateField() # <- NEW
새 모델을 사용하도록 프로젝트 구성 업데이트 -
sample
애플리케이션을 INSTALLED_APPS
섹션의 프로젝트 구성에 추가해야 합니다.# File: config/settings.py (partial content)
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sample' # <- NEW
]
...
팁 - 최신 변경 사항을 빠르게 확인하려면
check
하위 명령을 실행할 수 있습니다.$ python manage.py check
System check identified no issues (0 silenced).
Generate the SQL code
$ python manage.py makemigrations # generate the SQL code
Migrations for 'sample':
sample\migrations\0001_initial.py
- Create model Book
Apply changes on database
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sample, sessions
Running migrations:
Applying sample.0001_initial... OK
CLI를 통해 모델 사용
모델이 생성되면 Django 셸을 통해 모델을 사용할 수 있습니다.
$ python manage.py shell
>>>
>>> from sample.models import Book # import the Book model in our context
>>> from django.utils import timezone # used to provide the value for publication_date
>>>
>>> book1 = Book(title='The Adventures of Tom Sawyer', author='Mark Twain', publication_date=timezone.now() )
>>> book1.save() # save the new book
모든 책 나열(CLI 사용)
$ python manage.py shell
>>>
>>> from sample.models import Book
>>> Book.objects.all()
<QuerySet [<Book: Book object (1)>]>
쿼리에 의해 반환된 새 책을 볼 수 있습니다. 개체를 설명하는 정보를 개선합시다.
Django 모델 - 개체의 텍스트 표현 추가
이 목표를 달성하려면
__str__()
모델에 대한 Book
방법을 정의해야 합니다.# File: sample/models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
def __str__(self): # <- NEW
return self.title # <- NEW
Django 콘솔을 다시 시작하고 결과를 확인하겠습니다.
$ python manage.py shell
>>>
>>> from sample.models import Book
>>> Book.objects.all()
<QuerySet [<Book: The Adventures of Tom Sawyer>]>
관리 섹션을 통해 모델 사용
Django에는 프로젝트에 정의된 모든 모델을 쉽게 관리할 수 있는 최신 섹션
admin
이 함께 제공됩니다.관리 콘솔에서
Book
모델을 관리하려면 superuser
(관리자라고도 함)를 만들고 register
이후에 Book
모델을 관리 섹션에 표시해야 합니다.Create the superuser
$ python manage.py createsuperuser
sername (leave blank to use 'sm0ke'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
Register
Book
model to be visible in theadmin
section - Editsample/admin.py
as below:
# File: sample/admin.py
from django.contrib import admin
from .models import Book # <- NEW
admin.site.register(Book) # <- NEW
Authenticate as admin -
http://localhost:8000/admin/
이 시점에서 UI에
Books
모델이 표시되고 CRUD 작업을 실행할 수 있어야 합니다.Django 모델 만들기 - 모델 항목 나열
Django 모델 만들기 - 레코드 편집
Thanks for reading! Feel free to AMA in the comments section.
더 많은 Django 리소스
Reference
이 문제에 관하여(Django에서 모델 만들기 - 초보자를 위한 자습서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sm0ke/create-model-django-1536텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)