Jekyll에서 템플릿 태그 사용하기
템플릿 태그를 사용하는 방법이 동일하기 때문에, 올리고 싶은 코드에
탬플릿 태그가 있으면, 서버 실행시 오류가 생긴다.
//방법1
{{ 변수이름 }}
{% 명령 %}
//방법2
// raw명령의 경우
{ % raw % }
{ % 명령 % }
{ % endraw % }
Django - tutorial 따라하기
###DRY
모델의 활성화
Question 과 Choice 객체에 접근하기 위한 Python 데이터베이스 접근 API를 생성 = ORM
-> 이걸 사용하기 위해 .settings.py
에 INSTALLED_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 %}">#}-->