[Django REST framework] 기본 Routers와 정규표현식 Url

Info Notice:
안녕하세요. HwanSeok입니다.

Router를 적용한 소스코드 미리보기

아래 링크에서 router가 동작하는 소스코드 상태를 미리 확인할 수 있습니다.

접속 가능한 경로

  • model list view : http://localhost:8000/api/todos/

drf-0

  • model detail view : http://localhost:8000/api/todos/1/

drf-1

url 경로에 r’ ‘을 쓰는 이유

raw python string literal이라고 하여, ‘\n’을 포함한 space chracter를 문자열로 취급한다

raw python string literal를 사용하지 않은 경우

1
2
3
4
5
6
s = "Hello\tfrom AskPython\nHi"
print(s)
'''
Hello    from AskPython
Hi
'''

raw python string literal를 사용한 경우

1
2
3
4
5
s = r"Hello\tfrom AskPython\nHi"
print(s)
'''
Hello\tfrom AskPython\nHi
'''

‘\x’의 경우 존재하지 않은 unicode이기 때문에 raw python string literal를 사용하지 않으면 에러가 난다.

1
2
3
4
s = "Hello\xfrom AskPython"
print(s) # SyntaxError
s = r"Hello\xfrom AskPython"
print(s) # Hello\xfrom AskPython

원하는 패턴의 경로만을 입력받기 위한 정규표현식

drf-2

추가적인 방법은 여기에 나와있습니다.

Success Notice:

개발환경

  • ubuntu 20.04
  • python 3.8.5
  • django 3.1.5
  • pip 20.0.2
  • yarn 1.22.10

Leave a comment