less than 1 minute read

모델 필드

TextField는 CharField와는 달리 길이에 대한 제한이 없다.
그래서 TextField는 포스트 글 같은 곳에 사용하고
CharField는 이름이나 제목같이 짧은 곳에 사용한다.

DateTimeField는 시간과 날짜를 저장한다.
DateTimeField(verbose_name=”Date Modified”, auto_now_add=True)

모델 필드

필드 옵션

verbose_name은 별명을 붙여주는 것이고
auto_now_add는 포스트가 처음 생성될 때의 시간을 저장한다.
auto_now는 포스트가 마지막으로 저장될 때 시간을 저장한다.
auto_now_add와 auto_now는 동시에 True일 수 없다.

필드 옵션

날짜 데이터 필터

날짜 데이터에서 필터를 적용해 원하는 값만 가져올 수 있다.
{{변수|date:”d”}} 일(day)
{{변수|date:”M”}} 월(month)

linebreaksbr

장고 페이지에서 글을 작성할 때 줄바꿈을 하면 \n이 되는데 HTML에서는 br이 줄바꿈이니 \n을 br로 대체해 줘야 한다.
{{post.content|linebreaksbr}}
이런 식으로 적용할 부분에 linebreaksbr을 사용한다.
post.content에 출력 되는 내용들에 적용이 된다.

url-name

path에 name속성을 주고 사용하면 하드코딩을 하지 않아도 된다.

path(‘posts/<\int:post_id>/’, views.post_detail, name=’post-detail’)
이렇게 name속성을 주면 된다.

사용하는 곳에서는 기존에 이렇게 되있던걸
href=”/posts/{{post.id}}”

이런식으로 url-name과 url템플릿 태그를 사용해 작성하면 된다.
href=”{% url ‘post-detail’ post.id %}”
한칸 띄우고 인자를 작성해 함께 넘겨줄 수 있다.

기존의 방식에서는 urls에서 posts/를 수정하면 관련된 모든 링크들을 수정해 줘야 했지만 name속성을 사용하면 그럴필요가 없다.

Tags:

Categories:

Updated:

Leave a comment