본문 바로가기

BACK-END

(12)
[Django][장고걸스][ubuntu] Django Form Form을 이용하면 글을 Create, Update, Delete가 가능하다. Create와 Update를 해보자. Form 위치 blog (StartApp) └─── forms.py 1. CREATE [폼 추가하기] Form 작성 장고에서 제공해주는 Form인 ModelForm을 이용했다. blog/forms.py from django import forms from .models import Post class PostForm(forms.ModelForm): class Meta: model = Post fields = ('title', 'text',) Meta는 이 Form을 만들기 위해 어떤 model이 쓰여야 하는지 장고에 알려주는 구문이다. fields에는 보여지게 할 필드를 넣는다. (auth..
[Django][장고걸스][ubuntu] Django ORM과 쿼리셋[Querysets] 쿼리셋이란 전달받은 모델의 객체 목록이다. 데이터베이스로부터 데이터를 읽고, 필터를 걸거나 정렬할 수 있다 로컬 콘솔에서 아래 명령어를 입력하면, 장고 interactive console로 들어가게 된다. 장고 명령어 입력이 가능하다. python manage.py shell 모든 객체 조회하기 from blog.models import Post Post.objects.all() 결과는 이렇다. 객체 생성하기 from django.contrib.auth.models import User me = User.objects.get(username='ola') Post.objects.create(author=me, title='Sample title', text='Test') 필터링하기 Post.objects...
[Django][장고걸스][ubuntu] Django HTML 템플릿은 양식, 재사용 가능한 파일이다. 장고에서 템플릿 양식은 HTML을 사용한다. 템플리 위치 blog (StartApp) └───templates 이제 이 폴더 안에 html을 만들면 된다. 템플릿의 동적 데이터 활용 방법 view는 모델과 템플릿을 연결하는 역할이다. blog/views.py from django.shortcuts import render from django.utils import timezone from .models import Post def post_list(request): posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date') return render(reques..
[Django][장고걸스][ubuntu] Django urls mysite/urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('blog.urls')) ] urls.py의 깔끔한 작성을 위해서 include를 이용해 하위 애플리케이션의 urls.py를 가져온다. blog/urls.py from django.urls import path from . import views urlpatterns = [ path('', views.post_list, name='post_list'), ] 하위 어플리케이션의 urls.py이다. 장고는 http://127.0.0.1:80..
[Django] 데이터베이스 초기화 마이그레이션 파일 삭제 migrations 디렉토리 안에 __init__.py를 제외하고 전부 삭제한다. 데이터베이스 삭제 db.sqlite3를 삭제한다. 다른 데이터베이스를 이용했다면 그것을 삭제한다. 데이터베이스 생성 python3 manage.py makemigrations python3 manage.py migrate
[Django][장고걸스][ubuntu] Git 설치하기, 저장소 만들기 git 설치하기 sudo apt install git git 저장소 만들기 git은 코드 저장소[repo]에 특정한 파일들 집합의 변화를 추적하여 관리한다. git init git config --global user.name "Your Name" git config --global user.email you@example.com git 저장소 초기화는 프로젝트를 시작할 때 딱 한 번만 한다. (username과 email 등록 명령은 계속 적용되기 때문에 다시 입력할 필요가 없다.) git이 특정 파일, 폴더를 무시하는 방법 git은 코드 저장소에 있는 모든 폴더와 파일들의 변경 점을 추적한다. 특정 파일을 무시하여, 추적하지 않게 할 수 있다. 기본 디렉토리에 .gitignore이라는 파일을 만들면 ..
[Django][장고걸스][ubuntu] Django 관리자 mysite/settings.py LANGUAGE_CODE = 'ko' 관리자 화면을 한국어로 변경한다. blog/admin.py from django.contrib import admin from .models import Post # 모델 가져오기 admin.site.register(Post) # 모델 등록하기 (관리자 페이지에서, 만든 모델을 보기 위해) 모델링 한 글들을 장고 관리자에서 추가, 수정, 삭제할 수 있다. 장고 관리자 생성 python3 manage.py createsuperuser
[Django][장고걸스][ubuntu] Django 모델 blog/models.py from django.conf import settings from django.db import models from django.utils import timezone class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) title = models.CharField(max_length=200) text = models.TextField() created_data = models.DateTimeField( default=timezone.now ) published_data = models.DateTimeField( blank=True, null..
[Django][장고걸스][ubuntu] 어플리케이션 만들기 어플리케이션 생성 python3 manage.py startapp blog blog라는 이름의 어플리케이션을 생성했다. 그리고 이 어플리케이션을 사용하려면 mysite/settings.py의 INSTALLED_APPS에 'blog'를 추가해야 한다.
[Django][장고걸스][ubuntu] Django 설치 pip 업데이트 python3 -m pip install --upgrade pip Django 설치 pip install django~=2.0.0 pip를 업데이트한 후 django를 설치한다. Django 프로젝트 생성 (myvenv) ~/djangogirls$ django-admin startproject mysite . .을 꼭 붙여야 한다. 현재 디렉토리에 장고 프로젝트를 생성하라는 뜻이다.