django_urls

sunjin·2023년 3월 26일
0

Django

목록 보기
6/12

variable routing

url 일부에 변수를 포함시키는 것을 나타낸다.

  1. urls 작성하기
  • <path_ converter:variable_name> 형식으로 작성하기
  • path coverters 는 5가지 타입으로 지원해준다
  1. views 작성하기

  2. templates 작성하기

  • 까먹지 말것 app폴더에 만들어야 한다 !!!!!

주소 입력을 해주면


이런 형식으로 나온당 ~!


App URL mapping

  • 각 앱에 URL을 정의하는것을 말한다
  • 앱 두번째를 생성하였을때 URL 주소가 겹친다면 각자 app에서 url을 관리하는게 좋다

일단 앱 하나로만 해보자

  1. 앱에 urls.py를 생성한다

  2. 새로만든 앱에 있는 urls.py에 프로젝트 파일에 있는 urls.py에
    박스 부분을 복사를 해서 가져다 붙인다 (밑줄 부분 제외 !! )

  3. 프로젝트에 있는 urls.py에 include를 사용해준다

include() 란

다른 URL들을 참조할수 있도록 돕는 함수이다 !
( URL 그 시점까지 일치하는 부분을 잘라내고, 남은 문자열 부분을
후속 처리를 위해 include된 URL로 전달한다)

자 그럼 프로젝트에 있는 urls.py와 app에 작성한 urls.py를 비교 해보자

검색을 하게되면 이런식으로 경로를 다시 찾아갈수가 있다 !


Naming url patterns

url에 이름을 지정하는 것

  1. urls.py 변수에 name='아무이름' 형식으로 작성한다

  1. html 파일에 넣는다

url 태그

주어진 url 패턴의 이름과 일치하는 절대 경로 주소를 반환
{% url 'url-name' arg1 arg2 % }

나의 경우엔 아까 위의 두 태그를 했는데, detail은 숫자를 입력해야 하기 때문에 임시값으로 num=1 을 주었다 !!!

  1. 결과

이런식으로 name 이라고 이름을 지정했기 때문에 링크가 출력된다

누르면 아까 num=1 이라고 했기때문에 이렇게 출력이 된다.


URL Namespace

그치만 ! app이 두개라면 그리고 url의 이름이 같다면 ? 이름으로만으로 분류하기는 어려워진다

그럴때는 app_name 속성을 지정해 주면 된다.

  1. urls.py에 app_name 속성 지정 변경

  1. url tag 변경

profile
🍀

0개의 댓글