Django에서 URL 기능은 URL pattern(URL 패턴)
과 URL mapping(URL 매핑)
으로 구성됩니다.
URL 패턴은 URL 경로를 지정하는 패턴입니다. 패턴은 urls.py
파일에 정의되어야 합니다. 패턴을 표현할 때는 정규표현식을 사용해서 작성할 수 있습니다. URL 패턴 이름은 URL 매핑에서 name
매개변수를 사용해서 지정할 수 있습니다. 또한 reverse_lazy
함수를 이용해 URL 패턴을 동적으로 처리할 수 있습니다.
URL 매핑은 urls.py
파일에서 URL 패턴과 View(뷰)를 연결하는 것을 의미합니다. URL 패턴과 일치하는 URL 경로로 요청이 들어오면 연결된 뷰로 해당 요청을 넘겨줍니다. 이런 패턴 매핑을 이용하면 Django 애플리케이션의 동적 웹 페이지 처리를 쉽게 구현할 수 있습니다.
reverse
: reverse 함수는 URL 패턴을 생성할 수 있습니다. URL 패턴의 이름과 URL 매핑에 사용되는 인자를 지정해서 URL 패턴을 지정할 수 있습니다.include
: include 함수는 특정 URL 패턴을 다른 URL 패턴에 포함시켜줄 수 있습니다.path
: path 함수는 URL 패턴을 문자열로 작성해서 사용하면 됩니다.re_path
: re_path 함수는 정규표현식을 이용해서 URL 패턴을 만들 수 있습니다.reverse_lazy
: reverse_lazy 함수는 reverse 함수와 유사하게 동작하지만 지연 평가(Lazy Evaluation)를 이용해서 URL 패턴의 동적 처리를 가능하게 합니다.프로젝트 app에서는 전체 URL만 관리하는 것이 좋습니다.
새로 만든 blog URL의 경우, /blog 앱 내부에 urls.py를 만들어서 URL 경로를 따로 만들어 관리합니다.