Django 5

장고(Django) 상세(detail) 페이지로의 링크 추가하기

우리의 상세(detail)페이지 제작 단계는 크게 2가지였습니다. 1. URL에 Quetions ID를 입력시 해당 Question의 상세 페이지로 접속하도록 구현하기 2. question 제목들이 나열되어 있을 때 특정 제목을 클릭하면 해당 question의 상세페이지로 가는 링크 만들기 우리는 바로 이전 시간 1단계 구현을 마쳤습니다. 이번에는 2단계를 구현할 것입니다. 제목 클릭시 상세 페이지로 이동하는 링크 추가 제목을 클릭시 해당 제목의 상세 페이지로 이동했습니다. 태그를 이용 뷰(polls/views.py)에서 context로 건네 받은 questions의 쿼리셋 요소들인 question에 반복문으로 하나씩 접근하면서 해당 question의 제목을 보여주는데 그 제목에 a 태그로 링크를 걸어 ..

장고 (Django) 2023.11.03

장고(Django) 템플릿에서 제어문 사용하기

템플릿에 for (제어)문으로 여러 데이터 출력하기 지난 시간 우리는 Question 모델에 있는 여러개의 질문들 중에서 가장 최근 질문 하나만 가져와서 index.html에서 출력했습니다. 그런데 템플릿에 여러개의 데이터를 출력하려면 어떻게 해야할까요? 먼저 장고 쉘(Django Shell)에서 살펴보겠습니다. >>> from polls.models import * >>> latest_question_list = Question.objects.order_by('-pub_date')[:5] >>> latest_question_list >>> for question in latest_question_list: ... print(question.question_text) ... new question 휴가를..

장고 (Django) 2023.11.02

장고(Django) App 생성하기

앱이란 무엇일까? 가상환경을 만들고 그 안에 프로젝트를 만들었으니 이제는 앱(App)을 한번 만들어보겠습니다. 그전에 개념을 이해하고 넘어갑시다. 우리가 만든 하나의 프로젝트(mysite)는 하나의 웹사이트라고 보면 됩니다. 네이버 메인을 살펴보면 메일, 뉴스, 쇼핑 등 여러개의 탭들이 존재하는데 이 하나하나가 앱입니다. 즉 하나의 웹 사이트는 우리가 지난 시간 만든 하나의 프로젝트 웹 사이트내에 있는 여러 기능들은 여러개의 앱이라고 생각하면 이해하시기 편할겁니다. 그리고 앱은 하나의 프로젝트에만 속할 수 있는 것이 아닌 다른 사이트, 즉 다른 프로젝트에서도 사용할 수 있습니다. 장고에서 앱 생성하기 의견을 조사하는 앱을 만들고자 합니다. \DjangoProjects\Scripts\mysite>pytho..

장고 (Django) 2023.10.27

장고(Django) 프로젝트 생성하기

새로운 Django 프로젝트 생성하기 가상환경이 실행된 상태에서 (맨 앞에 (DjangoProjects) 가상환경이 실행중) (DjangoProjects) C:(중략..)>django-admin startproject mysite django-adimn startproject (프로젝트 이름)을 cmd창에 입력합니다. 그러면 위와 같이 활성화중인 가상환경 디렉토리에 mysite라는 폴더(+ 파일들)가 만들어짐을 볼 수 있습니다. mysite 디렉토리 안에는 mysite라는 똑같은 이름의 __init__.py ~ wsgi.py 등 5개의 파일을 가진 디렉토리와 manage.py라는 파일이 있습니다. manage.py는 프로젝트를 터미널에서 컨트롤할 수 있게 도와주는 파일입니다. 굉장히 많이 사용하게 될 파..

장고 (Django) 2023.10.27

가상환경 설치 - Windows

왜 가상환경을 사용하는가? 로컬서버에 프로젝트를 만들고 작업하지 않고 프로젝트마다 가상환경을 설정해주어야 하는 이유는 무엇일까요? 그 이유는 서로 다른 유형과 목적의 프로젝트들을 한 공간에 넣어서 관리한다면, 매번 하나의 프로젝트를 실행할 때마다 그에 맞춰서 환경을 체크하고 변경해주어야 하며 심한 경우에는 프로젝트 간의 충돌이 발생할 수도 있기 때문입니다. 따라서 이와 같은 문제점들을 방지하고, Python 프로젝트들을 각각의 목적에 맞게 효율적으로 관리할 수 있다는 측면에서 Python 프로젝트를 다룰 때에는 가상환경을 만들어 사용하는 방법이 권장되고 있습니다. 가상환경 설정하기 파이썬 혹은 아나콘다가 설치 되어있다고 가정합니다. 먼저, 명령 프롬프트 (CMD)창을 켭니다. > python -m ven..

장고 (Django) 2023.10.27