[Django] RelatedField
·
Minding's Programming/Django
RelatedField1. PrimaryKeyRelatedField 현재 User List를 살펴보면, 각 유저의 question 필드에 질문 레코드의 id값이 표시되는 것을 확인할 수 있다. 이것은 serializers.py에서 UserSerializer를 설정할 때 PrimaryKeyRelatedField를 사용했기 때문이다.# mysite/polls_api/serializers.pyclass UserSerializer(serializers.ModelSerializer): # questions 필드를 명시하는 이유: User 모델과 Question 모델 간의 관계를 보여주기 위함 questions = serializers.PrimaryKeyRelatedField(many=True, quer..
[Django] 뷰(views)와 템플릿(templates)
·
Minding's Programming/Django
뷰(Views)뷰는 말 그대로 '보여주는' 역할을 한다. HTML 페이지 또는 모델 등에서 받아온 데이터를 사용자에게 노출시켜 준다. mysite 아래에 있는 urls.py에서 해당 URL에 요청이 오면, views.py에서 지정된 함수에 의해 해당 화면을 노출시킨다.# mysite/urls.pyfrom django.contrib import adminfrom django.urls import path, include# polls/ URL 뒤에는 polls 폴더 내 urls.py 설정을 따름urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls),]# mysite/polls/urls.pyfrom ..
[Django] 모델 메소드(Model Method)
·
Minding's Programming/Django
모델 메소드모델 메소드는 모델을 클래스로 선언할 때 아래에 작성하는 함수를 메소드로 사용하는 것을 말한다. 예를 들어, Question 모델(클래스)에 pub_date 기준 오늘 만들어진 레코드인지를 판단하는 메소드를 만들어본다고 해보자.from django.db import modelsfrom django.utils import timezonefrom datetime import timedeltaimport datetime# model 생성class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField(auto_now_add=True) # pub_date가 지..
[Django] Django 기본 설정
·
Minding's Programming/Django
장고 설치pip install Django기본적으로 가상환경을 따로 만들고 라이브러리를 설치하는 것이 좋으니 참고! Django Projcet 생성하기django 프레임워크를 본격적으로 사용하기 위해서는 django project를 생성해주어야 한다. 터미널 창에 아래와 같은 코드를 입력해보자.django-admin startproject mysite코드 입력 후 mysite라는 폴더가 하나 생성된 것을 알 수 있다. 그 안에 진입하면 여러가지 파이썬 파일이 생성된 것을 알 수 있다. 이들은 django 명령어를 터미널에서 쓸 수 있도록 도와주는 파일들이다. 이 중 manage.py 파일을 이용해 설치가 잘 되었는지 확인해보자.# mysite 폴더로 이동cd mysitepython manage.py ru..