장고 자습서 앱 만들기 (2) [모델 DB 만들기]
앱 만들기
manage.py
파일이 있는 디렉토리에서,
$ python3 manage.py startapp blog
bin db.sqlite3 lib mysite
blog include manage.py pyvenv.cfg
이제 새로 블로그 디렉토리를 만들었습니다.
응용 프로그램을 만든 후에는 장고에게 그것을 사용하라고 말해야합니다.mysite/settings.py
파일에 지정합니다. 먼저 INSTALLED_APPS를 찾아서 그 위에 'blog'라는 한 줄을 추가합니다.mysite/settings.py
를 편집기에서 열고 'blog',를 추가합니다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
blog/models.py
파일에서 Models라는 모든 객체를 정의합니다. 이것이 블로그 게시물을 정의하는 곳입니다.blog/models.py
를 편집기에서 열고 모두 삭제하고 아래 코드를 작성합니다.
from django.db import models
from django.utils import timezone
class Post(models.Model):
author = models.ForeignKey('auth.User',on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
models.Model
는 게시물이 장고 모델이라는 것을 의미하며 장고가 데이터베이스에 저장해야한다는 것을 알고 있습니다.
필드 유형을 결정해야 합니다.
· models.CharField - 텍스트 수를 정의하는 필드
· models.TextField - 이것은 제한없는 긴 텍스트
· models.DateTimeField - 날짜와 시간 필드
· models.ForeignKey - 이것은 다른 모델에 대한 링크
데이터베이스에 모델용 테이블 만들기
새 모델을 데이터베이스에 추가합니다. 우선, 지금 작성한 모델중에 조금 변경이 있었다고 Django에 알립니다.
$ python3 manage.py makemigrations blog
Migrations for 'blog':
blog/migrations/0001_initial.py
- Create model Post
$ python3 manage.py migrate blog
Operations to perform:
Apply all migrations: blog
Running migrations:
Applying blog.0001_initial... OK
이제 포스트 모델이 데이터베이스에 들어갔다.
게시물 추가, 편집, 삭제
blog/admin.py
파일을 편집기에서 열고 다음과 같이 수정합니다.
from django.contrib import admin
from .models import Post
admin.site.register(Post)
이전에 정의한 Post 모델을 가져옵니다. admin 페이지에서 모델을 볼 수 있게 하려면 admin.site.register(Post)
로 모델을 등록해야 합니다.
그런 다음 포스트 모델을 살펴 보겠습니다. 웹 서버를 실행하려면 다음 코드를 실행합니다.
$ python3 manage.py runserver
htp://127.0.0.1:8000/아d민/
이런 화면이 나올 것 같아요.
로그인하려면 superuser(사이트의 모든 것을 관리하는 사용자)를 만들어야 합니다.
일단 터미널에서 command+N
에서 다른 탭을 만들고 myvenv로 이동하고,
$ python3 manage.py createsuperuser
를 입력한 다음 사용자 이름, 이메일 주소, 비밀번호를 입력합니다.
나중에 로그인 할 때 사용하므로 알기 쉬운 것으로 해주십시오.
모두 입력하면 Superuser created successfully.
와 나옵니다.
그러면 브라우저로 돌아가 방금 만든 superuser로 로그인합니다.
이런 화면이 됩니다.
그렇다면 시험에 Posts에 가서 적당히 쓰고 저장해 봅시다.
저장할 수 있으면 성공입니다! ! !
Reference
이 문제에 관하여(장고 자습서 앱 만들기 (2) [모델 DB 만들기]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kagami-r0927/items/26e564d590feb333312e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ python3 manage.py startapp blog
bin db.sqlite3 lib mysite
blog include manage.py pyvenv.cfg
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
from django.db import models
from django.utils import timezone
class Post(models.Model):
author = models.ForeignKey('auth.User',on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
새 모델을 데이터베이스에 추가합니다. 우선, 지금 작성한 모델중에 조금 변경이 있었다고 Django에 알립니다.
$ python3 manage.py makemigrations blog
Migrations for 'blog':
blog/migrations/0001_initial.py
- Create model Post
$ python3 manage.py migrate blog
Operations to perform:
Apply all migrations: blog
Running migrations:
Applying blog.0001_initial... OK
이제 포스트 모델이 데이터베이스에 들어갔다.
게시물 추가, 편집, 삭제
blog/admin.py
파일을 편집기에서 열고 다음과 같이 수정합니다.
from django.contrib import admin
from .models import Post
admin.site.register(Post)
이전에 정의한 Post 모델을 가져옵니다. admin 페이지에서 모델을 볼 수 있게 하려면 admin.site.register(Post)
로 모델을 등록해야 합니다.
그런 다음 포스트 모델을 살펴 보겠습니다. 웹 서버를 실행하려면 다음 코드를 실행합니다.
$ python3 manage.py runserver
htp://127.0.0.1:8000/아d민/
이런 화면이 나올 것 같아요.
로그인하려면 superuser(사이트의 모든 것을 관리하는 사용자)를 만들어야 합니다.
일단 터미널에서 command+N
에서 다른 탭을 만들고 myvenv로 이동하고,
$ python3 manage.py createsuperuser
를 입력한 다음 사용자 이름, 이메일 주소, 비밀번호를 입력합니다.
나중에 로그인 할 때 사용하므로 알기 쉬운 것으로 해주십시오.
모두 입력하면 Superuser created successfully.
와 나옵니다.
그러면 브라우저로 돌아가 방금 만든 superuser로 로그인합니다.
이런 화면이 됩니다.
그렇다면 시험에 Posts에 가서 적당히 쓰고 저장해 봅시다.
저장할 수 있으면 성공입니다! ! !
Reference
이 문제에 관하여(장고 자습서 앱 만들기 (2) [모델 DB 만들기]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kagami-r0927/items/26e564d590feb333312e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from django.contrib import admin
from .models import Post
admin.site.register(Post)
$ python3 manage.py runserver
$ python3 manage.py createsuperuser
Reference
이 문제에 관하여(장고 자습서 앱 만들기 (2) [모델 DB 만들기]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kagami-r0927/items/26e564d590feb333312e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)