TIL - 0202

Jekyll에서 템플릿 태그 사용하기

템플릿 태그를 사용하는 방법이 동일하기 때문에, 올리고 싶은 코드에
탬플릿 태그가 있으면, 서버 실행시 오류가 생긴다.

//방법1
{{ 변수이름 }}
{% 명령 %}

//방법2
// raw명령의 경우
{ % raw % }
{ % 명령 % }
{ % endraw % }

Django - tutorial 따라하기

###DRY

모델의 활성화

Question 과 Choice 객체에 접근하기 위한 Python 데이터베이스 접근 API를 생성 = ORM
-> 이걸 사용하기 위해 .settings.pyINSTALLED_APPS에 새로 추가

migrate

./mange.py migrate polls zero 원상복귀 시키는 것 ./mange.py migrate polls 번호 내가 migrate시키고 싶은 앱과 번호를 입력하는 것 ./manage.py migrate 전체 적용 ./mange.py showmigrations

내가 무엇을 바꾸었는지 다른 사람들에게 알릴 수 있음

timedelta

def was_published_recently(self):
    return self.pub_date >= timezone.now() - datetime.timedlta(days=1)

시간 차를 구할 때

objects.filter(question_text__startwith=’What’)

objects.get(id=2)

무조건 하나만 가져오게끔

다대일 관계

일에서 다를 보려고 하는 방법

q.choice_set.all()
속성이름.클래스_set  = 역참조   있음
In [28]: q2.choice_set.filter(choice_text__contains ='사')
Out[28]: <QuerySet [<Choice: 좋아하는 과일 | 사과>]>
In [26]: Choice.objects.filter(question=q2).filter(choice_text__
    ...: contains='사')
Out[26]: <QuerySet [<Choice: 좋아하는 과일 | 사과>]>
In [29]: q2.choice_set.create(
    ...: choice_text = '멜론',)

Out[29]: <Choice: 좋아하는 과일 | 멜론>

In [30]: q2.choice_set.count()
Out[30]: 3

re_path 와 path

path('', views.index, name='index'),
   path('<int:question_id>/', views.detail, name='detail'),
   path('<int:question_id>/results/', views.results, name='results'),
   path('<int:question_id/vote/', views.vote, name='vote'),
   # 정규표현식으로 $을 안붙이면 밑에 애들은 인식못함
re_path(r'^$', views.index, name='index'),
re_path(r'^(?P<question_id>\d+)/$', views.detail, name='detail'),
re_path(r'^(?P<question_id>\d+)/results/$', views.results, name='results'),

debug

debug의 경우, 개발 이후엔 false로 변경, 사용자가 보면 안되므로.

# config/settings.py
DEBUG = Fasle
ALLOWED_HOSTS = [ 'localhost']

우리가 설정한 404에러는 안뜸 장고에서 자체적으로 없애버림

장고 주석처리


<a href="{% url polls:'detail' question_id = question.pk %}">
<!--{#<a href="{% url polls:'detail' question_id = question.pk %}">#}-->

forloop.counter