Python/초간단 장고 Django
-
Django 초간단 게시판 5. templatesPython/초간단 장고 Django 2021. 5. 28. 02:31
폴더 경로가 board/templates/board/*.html 이러 하다. board 아래에 또 board가 있는 이유는 네임스페이스로 사용하기 위해서이다. 다른 앱에 이름이 같은 파일이 있다면 장고가 오동작할 수 있다. 네임 스페이스가 이를 막아준다. 장고의 클래스 뷰를 이용하면 자동으로 파일명이 정해진다. 물론 별도의 파일명을 지정할 수 있지만... 한 줄이라도 더 줄이기 위해 디폴트 값으로.. article_detail.html 디테일 뷰의 템플릿이다. 클래스 뷰에서 속성으로 지정되었던 모델의 내용이 object 객체에 담겨 전달된다. 객체의 이름(object)은 바꿀 수 있지만 한 줄이라도 줄이자... {{}} 여기에 변수를 담는다. title: {{object.title}} author: {{..
-
Django 초간단 게시판 4. view, urlsPython/초간단 장고 Django 2021. 5. 28. 02:07
1. view 초간단 버전 답게 모두 클래스 뷰이다. 리스트뷰를 상속받아 리스트를 만들고, 디테일뷰를 상속받아 디테일을 만들고... ..... 장고에서는 작성하고, 읽고, 수정하고, 지우는 데 필요한 기본적인 클래스가 모두 제공된다. 기본적으로 모델만 등록하고 몇 가지 설정만 추가로 잡아주면 된다. # board/views.py from django.urls import reverse_lazy from django.views.generic import ListView, CreateView, DetailView, UpdateView, DeleteView from .models import Article class ArticleList(ListView): model = Article paginate_by =..
-
Django 초간단 게시판 3. modelPython/초간단 장고 Django 2021. 5. 27. 00:01
1. migrate 먼저 DB 를 만들어 보자. config/setting.py 파일에 DB 설정이 있다. 실습용으론 충분하니 기본값을 쓰자. # config/setting.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } 파이참의 터미널 창에서 python manage.py migrate 를 실행한다. migrate 전에는 makemigrations(s에 주의)를 실행해야 하는데, 장고 첫 설치시 makemigrations 된 상태기 때문에 migrate를 바로 실행할 수 있다. makemigrations은 모델의 변화를 migrations에 기록하고, migra..
-
Django 초간단 게시판 2.start app, Hello World!Python/초간단 장고 Django 2021. 5. 26. 23:49
1. start app 파이참의 터미널 창에서 python manage.py startapp board 를 실행합니다. (venv) C:\PyProjects\djangoBBS>python manage.py startapp board 파이참의 프로젝트 창에 board 디렉토리가 생성되었다. 2. 앱을 만들었으면 config에 앱을 등록해야 한다. 앱 설치시 자동 등록되지 않으며, 이 작업을 하지 않으면, migration 되지 않는다. # config/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django...
-
Django 초간단 게시판 1. 장고 설치, start projectPython/초간단 장고 Django 2021. 5. 26. 23:01
소스 : https://github.com/pycrawling/SimpleDjangoBBS 소스 : https://github.com/pycrawling/SimpleDjangoBBS 0. 파이썬 다운로드 및 설치 최신 버전인 3.9.5를 사용했습니다. https://www.python.org/downloads/ 1. 파이참 커뮤니티(pycharm Community) 다운로드 및 설치 https://www.jetbrains.com/ko-kr/pycharm/download 2. 프로젝트 만들기 3. 장고 설치 설정 > 프로젝트 > 파이썬 인터프리터로 가서 패키지 좌측 상단의 +를 누릅시다. Django를 검색 후 설치합니다. 최신 버전인 3.2.3을 이용했습니다. 4. start project 터미널 창에서..
-
7. Django: ORM-Method, __str__()Python/초간단 장고 Django 2019. 7. 8. 22:38
연재 중 꼭 설명해야 할 부분은 아니지만, 안 하기도 아쉬운 부분이 있어 정리해 보았습니다. Bookmark object (x) 이건 장고 어드민에서나 {{object_list}}에서 보이는 부분인데 보기 좋지 않습니다. 이 부분을 수정하려면 모델에 __str__() 메서드를 추가해야 합니다. # bookmarks/models.py from django.db import models class Bookmark(models.Model): title = models.CharField(max_length=40, blank=True, null=True) url = models.URLField('url', unique=True) def __str__(self): # 추가 return self.title 이제 데이..
-
6. Django: TemplatesPython/초간단 장고 Django 2019. 7. 8. 20:15
알 필요는 없지만 장고의 템플릿 엔진을 DTL(Django Template Language)이라고 합니다. 다른 템플릿 엔진도 사용이 가능하며, 템플릿 엔진에 관한 설정은 config/settings.py 에서 찾아볼 수 있습니다. 다른 템플릿 엔진을 사용하는 것을 추천하진 않더군요. 장고에서 클래스 뷰의 템플릿 폴더는 기본적으로 'app/templates/app'를 이용합니다. 'app/templates' 까지는 이해가 가는데 뒤에 'app'이 한번 더 나오는 이유가 궁금하실 겁니다. 다른 앱에 동일한 이름의 템플릿이 있는 경우 Django는 이들을 구분할 수 없습니다. 그래서 app이름으로 네임 스페이스를 만들어 둡니다. 하지만 앱이 하나 뿐이라면.. 작성한 템플릿이 자동 인식이 되지 않을 때(폴더를..
-
5. Django: ViewsPython/초간단 장고 Django 2019. 7. 8. 08:23
1. views.py 장고에서는 클래스형 뷰와 함수형 뷰가 있습니다. 이 글에서는 클래스형 뷰를 사용할 예정입니다. 클래스형 뷰는 미리 만들어진 프리셋을 상속받습니다. 장고에서는 이 프리셋을 제네릭 뷰라고 합니다. 제네릭 뷰의 종류는 다음 링크를 참고하십시오. ^^; https://wikidocs.net/9623 입력과 수정은 관리자 페이지에서 처리하기로 했기 때문에 'Generic Display View의 ListView'만 사용하면 됩니다. 조건에 맞는 객체들의 목록을 보여주는 뷰입니다. 다음 예제는 Bookmark 테이블(실제로는 클래스)을 읽은 뒤 'object_list' 변수에 담아 '모델명소문자_list.html' 템플릿에 넘겨줍니다. 'object_list' 와 '모델명소문자_list.htm..