드디어 내 첫 포스트!! 이제까지 계속 올려야지 올려야지 했는데 바빠서(핑계지만.,,,) 못했다.. 이제는 주 2일 포스팅 실현해보겠다! 저번 여름에는 스프링을 공부했었는데 확실히 초보자에게는 너무나 어려운 프레임워크였다ㅜㅜ나중에 더 제대로 공부해보고 싶다 어쨌든 이번에 합격한 동아리에서 장고를 사용해서 장고에 대해서 공부하기 시작했다. 먼저 장고에서 만든 튜토리얼을 파트 4까지 따라해보면서 장고가 어떻게 작동되는지 어떤 프레임워크인지에 대해 배워보았다 그중에서 중요해보이는 부분들을 간단히 정리해 보았다!
$ django-admin startproject mysite #프로젝트 생성
$ python manage.py runserver #개발 서버 실행
$ python manage.py startapp polls #설문조사 앱 생성
#polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
#polls/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
#mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
$ python manage.py makemigrations polls
$ python manage.py migrate
class Question(models.Model):
question_text = models.CharField(max_length=200) #CharField => 문자(character) 필드
pub_date = models.DateTimeField('date published') # DateTimeField => 날짜와 시간(datetime) 필드
def __str__(self):
return self.question_text
def was_published_recently(self): #시간 관련 커스텀 메소드
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __str__(self): #객체를 표현하는 메소드
return self.choice_text