본문 바로가기

인터페이스 개발/Django15

Django - 커스텀 유저 모델 커스텀 유저 모델 유저 모델 장고 기본 모델 django.contrib.auth.models.User 기존 모델 확장 또는 새로 정의 user 앱 만들기 python manage.py startapp user INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'user.UserConfig', ] 커스텀 유저 모델 만들기 AbstractU.. 2020. 10. 7.
Django - 아바타 실전 프로그램 개발 - 아바타 - 아바타 main 앱 만들기 python manage startapp main settings.py INSTALLED_APPS = [ : 'blog.apps.BlogConfig', 'main.apps.MainConfig', ] main/models.py from django.db import models from django.contrib.auth.models import User class Avata(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='User', blank=True, null=True) image = mode.. 2020. 10. 7.
Django - 콘텐츠 편집 기능 - 파일 업로드, 다운로드 실전 프로그램 개발 - 콘텐츠 편집 기능 - (파일 업로드, 다운로드) 파일 업로드 파일 업로드를 위한 설정 settings.py MEDIA : url 상의 경로 MEDIA_ROOT : 실제 파일 시스템의 경로 mysite/settings.py STATIC_URL = '/static/' STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') /media 디렉토리 생성 업로드 파일을 위한 모델 models.FileField 파일 업로드를 위한 필드 form에서 로 대응 upload_to 인수.. 2020. 10. 7.
Django - 콘텐츠 편집 기능 - TinyMCE 실전 프로그램 개발 - 콘텐츠 편집 기능 - (Blog, TinyMCE) Django TinyMCE 단순 텍스트 입력 및 출력 만 지원 워드프로세스와 같은 스타일 적용이 가능한 편집기 필요 웹 에디터 TinyMCE https://www.tiny.cloud/ django-tinymce 패키지 장고의 앱으로 tinymce 지원 pip install django-tinymce mysite/settings.py INSTALLED_APPS = [ : 'taggit_templatetags2', 'widget_tweaks', 'tinymce', : ] mysite/urls.py : urlpatterns = [ : path('tinymce/', include(&.. 2020. 10. 7.
Django - 콘텐츠 편집 기능 - Blog 실전 프로그램 개발 - 콘텐츠 편집 기능 - (Blog) 애플리케이션 설계하기 모델 설계 Post 모델 클래스 Blog URL 설계 작업 순서 개발 코딩하기 blog/models.py from django.db import models from django.urls import reverse from taggit.managers import TaggableManager from django.contrib.auth.models import User from django.utils.text import slugify class Post(models.Model): title = models.CharField(verbose_name='TITLE', max_length=50) slug = model.. 2020. 10. 7.
Django - 콘텐츠 편집 기능 - Bookmark 실전 프로그램 개발 - 콘텐츠 편집 기능 - (Bookmark) 애플리케이션 설계하기 모델 설계 Bookmark 모델 클래스 Bookmark URL 설계 개발 코딩하기 bookmark/models.py from django.db import models from django.contrib.auth.models import User class Bookmark(models.Model): title = models.CharField('TITLE', max_length=100, blank=True) url = models.URLField('URL', unique=True) owner = models.ForeignKey(User, on_delete=models.CASCADE, blan.. 2020. 10. 7.
Django - 인증 기능 실전 프로그램 개발 - 인증 기능 - 애플리케이션 설계하기 인증 기능 django에서 기본 앱으로 제공 django.contrib.auth 앱 관련 모델과 뷰가 제공됨 기본 제공 뷰를 이용하는 경우 템플릿만 정의 mysite/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', : ] 화면 설계 django 제공 User 모델 url.. 2020. 10. 7.
Django - [Blog 앱 확장] 검색 기능 Blog 앱 확장 - 검색 기능 - 애플리케이션 설계하기 화면 구성 URL 설계 작업 절차 개발 코딩하기 blog/forms.py from django import forms class PostSearchForm(forms.Form): search_word = forms.CharField(label='Search Word') html로 구성 안하고 여기에 form 관련 내용 집어 넣음 blog/views.py : from django.views.generic import FormView from django.db.models import Q from django.shortcuts import render from blog.forms import PostSearchForm : #--- For.. 2020. 10. 7.
Django - [Blog 앱 확장] Tag 달기 Blog 앱 확장 - Tag 달기 - 애플리케이션 설계하기 화면 설계 테이블 설계 Post 모델 클래스 URL 설계 작업절차 개발 코딩하기 태깅 지원 패키지 설치 $ pip install django-taggit django-taggit-templatetags2 또는 $ conda install django-taggit django-taggit-templatetags2 mysite/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.con.. 2020. 10. 7.
Django - Bookmark 앱, Blog 앱 개선 기존 앱 개선하기 - Bookmark 앱, Blog 앱 - 기존 앱 개선 설계하기 Bookmark Blog 작업 절차 개발 코딩하기 bookmark/templates/bookmark/bookmark_list.html {% extends "base.html" %} {% block title %}bookmark_list.html{% endblock %} {% block content %} Bookmark List {% for bookmark in object_list %} {{ bookmark }} {% endfor %} {% endblock %} bookmark/templates/bookmark/bookmark_detail.html {% extends "base.html" %} {% block title .. 2020. 10. 7.
Django - 첫 페이지 만들기 프로젝트 첫 페이지 만들기 첫 페이지 만들기 레이아웃 기반 페이지 만들기 공통으로 사용되는 요소를 레이아웃 템플릿으로 정의 헤더 메뉴 내용 풋터 개별 페이지는 레이아웃에서 필요한 부분만 재정의 레이아웃 페이지를 상속 템플릿 블록을 재정의 첫 페이지 작업순서 mysite/views.py from django.views.generic import TemplateView # TemplateView class HomeView(TemplateView): template_name = 'home.html' mysite/settings.py TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates'.. 2020. 10. 7.
Django - Blog 앱 개발 실전 프로그램 개발 - Blog 앱 bookmark 앱 URLConf 조정 라우팅의 분리 – urls 모듈 분리 애플리케이션 마다 자체 urls 모듈 운영 mysite/urls.py에서 모듈 단위로 라우팅 연결 bookmark/urls.py from django.urls import path from bookmark.views import BookmarkLV, BookmarkDV app_name = 'bookmark' # 해당 애플리케이션의 네임스페이스명 urlpatterns = [ path('', BookmarkLV.as_view(), name='index'), path('/', BookmarkDV.as_view(), name='detai.. 2020. 10. 7.