Study/Django 17

[Django] migration 에러

Django 공부하기 ✨ migration 에러 발생 You have 2 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): prometheus, pump. Run 'python manage.py migrate' to apply them. 에러가 발생하였다. (1) 해결 방법 몇몇 파일들이 migration 되지 않은 경우 생기는 문제이다. 문제가 발생한 프로젝트 경로의 터미널에 아래의 코드를 실행시키자! python manage.py makemigrations python manage.py migrate

Study/Django 2023.11.14

[Django] include 태그

Django 공부하기 ✨ include 태그란? include 태그는 보통 템플릿에서 특정 영역이 반복적으로 사용될 경우 중복을 없애기 위해 사용한다. include 태그를 사용하여 템플릿의 특정 위치에 다른 템플릿을 삽입할수 있다. (1) base.html projects\mysite\templates\base.html 파일을 수정한다. {% load static %} {% include "navbar.html" %} {% comment %} 기본 템플릿 안에 삽입될 내용 {% endcomment %} {% block content %} {% endblock %} (2) navbar.html projects\mysite\templates\navbar.html 파일을 생성한다. Pybo 로그인

Study/Django 2023.09.15

[Django] 폼 (12)

Django 공부하기 ✨ 참고 사이트 : 파이보 (점프 투 장고) 점프 투 장고 이어서 진행하기 질문을 등록하는 기능에 필요한 작업을 진행 할 예정이다. (1) 질문 등록 question_list.html에 질문 등록하기 버튼을 생성한다. // (1) projects\mysite\templates\pybo\question_list.html 파일 수정하기 질문 등록하기 pybo:question_create 별칭에 해당되는 URL 호출된다. (2) URL 매핑 pybo:question_create 별칭에 해당되는 URL 매핑 규칙을 추가한다. // (2) projects\mysite\pybo\urls.py 파일 수정하기 urlpatterns = [ (... 생략 ...) path('question/creat..

Study/Django 2023.09.15

[Django] 스태틱 (11)

Django 공부하기 ✨ 참고 사이트 : 파이보 (점프 투 장고) 스태틱(static) 디렉터리란? 웹 에서는 일반적으로 javaScript, css, image 등의 파일들을 사용하는데 이러한 파일들을 Django에서는 static파일이라 부른다. 이러한 static파일들의 체계적 관리를 위해 장고 프로젝트 디렉토리 (settings.py의 BASE_DIR) 에 static 서브폴더를 만들어 그곳에 static파일들을 관리한다. (1) 스태틱(static) 디렉터리 설정하기 // (1) projects\mysite\config\settings.py 파일 수정하기 STATIC_URL = 'static/' STATICFILES_DIRS = [ BASE_DIR / 'static', ] STATICFILES_..

Study/Django 2023.09.14

[Django] url.py과 view.py 조금 더 알아보기

Django 공부하기 ✨ views.py & url.py 관계는? (1) views.py란 무엇인가? Client에서 보낸 Request에 대해서 Response을 보내주는 역할을 한다. 세부적으로는 View는 Django 필요한 데이터를 모델에서 가져와서 적절히 가공하여 웹 페이지 결과를 만들도록 한다. (1) model 작성하기 view.py를 작성하기 전에 model.py를 만들어 makemigration과 migrate가 먼저 선행되어야 한다. // 점프 투 장고를 통해 진행하고 있는 예제 from django.db import models # 질문 모델 정의 class Question(models.Model): # 질문 주제를 문자열로 저장, 최대 길이는 200자 subject = models...

Study/Django 2023.09.13

[Django] settings.py

Django 공부하기 ✨ settings.py란 무엇인가? settings.py 파일은 장고 프레임워크의 프로젝트 환경 설정하는 파일이다. (1) DEBUG (개발모드 설정) 기본적으로 개발 모드는 DEBUG = True 로 설정되어 있다. 운영 모드일 경우 False로 설정해야 한다. (2) INSTALLED_APPS (App 추가) 프로젝트 내에 생성한 App을 등록해주는 영역이다. INSTALLED_APPS = [] 에 정의하여야 장고에서 해당 디렉토리를 인식할 수 있다. INSTALLED_APPS = [ 'pybo.apps.PyboConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django..

Study/Django 2023.09.13

[Django] 데이터 저장 (10)

Django 공부하기 ✨ 참고 사이트 : 파이보 (점프 투 장고) 점프 투 장고 이어서 진행하기 질문 상세 템플릿 (question_detail.html) 에 필요한 작업을 진행 할 예정이다. (1) 답변 등록 폼 생성하기 질문 상세 템플릿에 다음처럼 답변을 저장할 수 있는 폼(form)을 추가한다. // (1) projects\mysite\templates\pybo\question_detail.html 파일 수정하기 {{question.subject}} {{question.content}} {% csrf_token %} 답변 저장을 위한 URL은 form 태그의 action 속성에 {% url 'pybo:answer_create' question.id %}로 지정했다. {% csrf_token %}은 ..

Study/Django 2023.09.12

[Django] URL 별칭 (9)

Django 공부하기 ✨ 참고 사이트 : 파이보 (점프 투 장고) URL 별칭이 필요한 이유는? 실제 프로젝트에서 URL 리팩토링은 빈번하게 발생한다. URL 링크의 구조가 자주 변경된다면 템플릿에서 사용한 모든 URL들을 일일이 찾아가며 수정해야 하는 리스크가 발생한다. 이러한 문제점을 해결하기 위해 해당 URL에 대한 실제 링크 대신 링크의 주소가 1:1 매핑되어 있는 별칭을 사용 할 수 있다. (1) 링크 주소 대신 URL 별칭 사용하기 URL 매핑에 name 속성을 부여하면 된다. // (1) projects\mysite\pybo\urls.py 파일 수정하기 from django.urls import path from . import views urlpatterns = [ path('', view..

Study/Django 2023.09.12

[Django] 템플릿 언어

Django 공부하기 ✨ 템플릿(templates)란 무엇인가? Django에서 템플릿이란 어떤 텍스트 파일을 의미한다. 템플릿을 통해 HTML, XML, CSV 등 어떠한 텍스트 기반 포맷의 파일도 생성할 수 있다. 템플릿은 렌더링시 실제 데이터로 대체되는 변수를 가지며 그 안의 로직을 통제 가능한 태그도 포함할 수 있다. 템플릿 안에서 변수는 {{ variable }}과 같이 두 개의 중괄호로 감싸 표현한다. (1) 템플릿(templates) 상속 상속을 통해 전체 뼈대를 짜두고 각 부분을 block으로 정의해서 해당 템플릿을 상속하는 템플릿이 그 부분을 오버라이드 할 수 있게 해준다. 부모 템플릿을 상속하는 템플릿은 extends 태그를 이용해 부모 템플릿을 오버라이드하고 상속자 템플릿의 내용에 따..

Study/Django 2023.09.11

[Django] 조회와 템플릿 (8)

Django 공부하기 ✨ 참고 사이트 : 파이보 (점프 투 장고) 템플릿(templates)란 무엇인가? Django에서 템플릿이란 어떤 텍스트 파일을 의미한다. 템플릿을 통해 HTML, XML, CSV 등 어떠한 텍스트 기반 포맷의 파일도 생성할 수 있다. 템플릿 자세하게 알아보기 : https://taecongs.tistory.com/62 (1) 이전에 등록한 질문들을 조회 할 수 있도록 구현하기 생성한 Question (질문) 목록을 출력하기 위해 pybo/views.py 파일의 index 함수를 변경해야 한다. // (1) projects/mysite/pybo/views.py 파일 수정하기 from django.http import HttpResponse // 삭제 from django.short..

Study/Django 2023.09.11