Django

반응형
·Django
1. 폼 등록하기기본적으로 우리는 데이터를 주고 받을 때 form이용하여 받고는 한다. 이를 이용해서 장고에서 데이터 전달과정을 보고자 한다.// pybo\\question_detail.html{% csrf_token %}우리가 이전에 question을 등록했으므로 이에 대한 답변을 받기 위한 form을 만들어 준다. 그리고 이는 textarea에 적으면 button을 클릭하면 넘어가는 형식을 구현하였다.답변 저장을 위한 URL : form 태그의 action 속성에 {% url 'pybo:answer_create' question.id %}로 지정했다.{% csrf_token %} : 보안에 관련된 항목으로 form으로 전송한 데이터가 실제 웹 페이지에서 작성한 데이터인지를 판단하는 가늠자 역할을 한다..
·Django
먼저 question_list.html 템플릿에 사용된 다음 링크를 보면{{ question.subject }}질문 상세를 위한 URL 링크이다. URL 링크의 구조가 자주 변경된다면 템플릿에서 사용한 모든 URL들을 일일이 찾아가며 수정해야 하는 리스크가 발생한다. 링크의 주소가 하드코딩되어 있기 때문이다.실제 링크 대신 링크의 주소가 1:1 매핑되어 있는 별칭을 사용해야 한다. {% url %} 템플릿 태그를 사용하면 이러한 문제를 해결할 수 있다.1. URL 별칭 지정하기// pybo\\urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ path('', views.index, name='index'), path('/..
·Django
1. 질문 목록: 등록한 질문들을 게시물 목록으로 조회하는 기능// mysite/projects/pybo/views.pyfrom django.shortcuts import renderfrom .models import Questiondef index(request): question_list = Question.objects.order_by('-create_date') context = {'question_list': question_list} return render(request, 'pybo/question_list.html', context)질문 목록 데이터는 Question.objects.order_by('-create_date') 로 얻을 수 있다.order_by : 정렬하는 함..
·Django
1. 슈퍼유저 생성하기python manage.py createsuperuser장고 관리자를 사용하기 위해서는 장고 관리자 화면에 접속할 수 있는 슈퍼유저(superuser)를 먼저 생성해야 한다. 위와 같은 명령어로 생성한다.슈퍼유저 생성 정보항목값사용자 이름admin이메일 주소admin@mysite.comPassword1111 2. 장고 관리자 화면 보기슈퍼유저가 생성되었으니 로컬 서버를 구동한 후 http://localhost:8000/admin/ 페이지에 접속한다. 그러면 위와 같은 화면이 나온다.아까 위에서 생성한 username과 password를 입력해준다.3. 장고관리자에서 모델 관리하기위에서 Question 모델을 만들었다. 이를 Question모델을 관리자에 등록한다.// mysite/..
·Django
python manage.py shell위와 같이 명령어를 입력하면 장고 셸을 사용할 수 있다. 위와 같이 manage.py를 이용하여 사용하여야지만 장고에 필요한 환경들이 자동으로 설정되어 실행된다.1. Question 생성하기>>>from pybo.modelsimport Question, AnswerQuestion과 Answer 모델은 장고 셸에서 다음처럼 import하여 사용할 수 있다.>>>from django.utilsimport timezone>>> q = Question(subject='pybo가 무엇인가요?', content='pybo에 대해서 알고 싶습니다.', create_date=timezone.now())>>> q.save()Question 모델의 create_date 속성은 Dat..
·Django
질문과 답변을 생성하여 사용하고자 한다. 생성하고자 하는 모델은 어떠한 속성을 지니고, 어떻게 생성해야 하는지 글로 쓰고자 한다.1. 모델의 속성[Question 모델]subject질문의 제목content질문의 내용create_date질문을 작성한 일시 [Answer 모델]question질문 (어떤 질문의 답변인지 알아야하므로 질문 속성이 필요하다)content답변의 내용create_date답변을 작성한 일시2. models.py 작성하기이렇게 생각한 속성을 바탕으로 질문(Question)과 답변(Answer)에 해당되는 모델을 pybo/models.py 파일에 정의한다.// mysite/projects/pybo/models.pyfrom django.dbimport modelsclassQuestion(m..
·Django
1. migrationpython manage.py runserver장고 앱을 구동시켰을 때 아래와 같은 문구가 보인다.위의 내용을 보면 18개의 적용되지 않은 migration들이 있다는 말이다. admin, auth, contenttypes, sessions 앱들과 관련된 내용이고 이것을 적용하려면 python manage.py migrate 를 실행해야 한다고 나와 있다. admin, auth, contenttypes, sessions 앱들은 장고 프로젝트 생성시 기본적으로 설치되는 앱들이다.1) INSTALLED_APPS설치된 앱들은 config/settings.py 파일에서 확인할 수 있다. 데이터베이스가 필요한 앱만 migrate가 필요하다.2) DATABASESconfig/settings.p..
·Django
1. 장고 앱 만들기1) 장고 앱이란?장고 프로젝트에서 여러 개의 앱을 개발하고 관리할 수 있다. “앱”이란? 특정한 기능을 수행하는 웹 어플리케이션을 의미한다. 프로젝트에 기능을 추가하기 위해서는 앱을 생성해야 하므로, 아래를 따라해서 생성하도록 한다.2) 앱 생성하기django-admin startapp 위의 명령어를 치면 장고 앱이 생성되게 된다.2. URL 맵핑하기브라우저에서 http://localhost:8000/pybo 페이지를 요청했을 때 "안녕하세요 pybo에 오신것을 환영합니다."라는 문자열을 출력하도록 만들어 보자.python manage.py runserver해당 명령어를 써서 서버를 구동하도록 한다.그리고 나서 http://localhost:8000/pybo 페이지를 요청해보면위와 ..
반응형
Uheeking
'Django' 카테고리의 글 목록 (2 Page)