-
모델 객체 --> 데이터베이스에 저장
어플리케이션 생성
$python manage.py startapp blog
$gedit setting.py
blog 추가
모델 생성
$gedit blog/models.py
from django.db import modelsfrom django.utils import timezoneclass Post(models.Model):author = models.ForeignKey('auth.User')title = models.CharField(max_length=200) #글자 수가 제한 된 텍스트text = models.TextField() #글자 수에 제한이 없는 텍스트created_date = models.DateTimeField(default=timezone.now)published_date = models.DateTimeField(blank=True, null=True) #말그대로 DateTimedef publish(self):self.published_date = timezone.now()self.save()def __str__(self):return self.title$python manage.py makemigrations blog
migration file을 데이터 베이스에 지금 반영할 수 있도록 준비
$python manage.py migrate blog
실제 데이터베이스에 모델 추가를 반영
관리자
$gedit blog/admin.py
Post객체를 모델로 등록하는 것
from .models import Postadmin.site.register(Post)$python manage.py runserver로 서버를 다시시작하고 127.0.0.1:8000/admin으로 접속
터미널 창을 새로 하나 열어서 source myvenv/bin/activate 로 다시 가상화를 실행시킨 다음에 아래 명령어로 superuser를 생성한다음 로그인 하면 아래와 같은 화면이 뜬다
$python manage.py createsuperuser
테스트로 글을 한개 써봤다.
놀랍게도 디비에 저장이 된다.
어메이징..
mysql> select * from blog_post;
+----+------------+-----------------------------------+---------------------+----------------+-----------+
| id | title | text | created_date | published_date | author_id |
+----+------------+-----------------------------------+---------------------+----------------+-----------+
| 1 | testeTitle | hello my name weeeeejwWwwwwwweeew | 2017-11-15 08:11:19 | NULL |
+----+------------+-----------------------------------+---------------------+----------------+-----------+
1 row in set (0.00 sec)위지원데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨
'2017년 > Python' 카테고리의 다른 글
장고 view,url (0) 2017.11.15 python anywhere 사용하기 (0) 2017.11.15 파이썬 장고를 알아보자 (0) 2017.11.15 xml-rpc 다중 instance 등록방법 (0) 2017.09.16 파이썬 cmd 모듈 (0) 2017.09.15