django | 4. 링크 연결하기

sojung·2021년 5월 26일
0

django

목록 보기
5/21
post-thumbnail

link 만들기

main.html에서 home>hello.html로 이동해보자.

# main.html

<a href="경로">누르면 이동해요</a>

ex.
<a href="/home/go_hello">누르면 이동해요</a>

경로는 최상위 디렉토리 기준이다.
링크를 누르면 http://127.0.0.1:8000/home/go_hello 로 이동한다.

또한 home>hello.html에서 main.html로 이동하려면

# home>hello.html

<a href="/">누르면 이동해요</a>

라고 입력해야한다.

경로가 길어지면 복잡해진다.

이름 만들기

# djangoMaster>urls.py

urlpatterns = [
  ...
  path('', main, name="main"), # 이름을 붙여준다.
  ...
]
# home>urls,py

urlpatterns = [
  path('go_hello', hello, name="hello"), # 이름을 붙여준다.
]

이름을 붙여준다.

같은 이름 다른 의미
path("경로", 함수, name="이름")
경로 : url/뒤에 붙은 것
함수 : views에 있는 함수
이름 : 경로를 불러주는 이름


이름 삽입

# main.html

<a href="{% url 'hello' %}">누르면 이동해요</a>

{% %} template 언어 : django의 html에서 쓰이며 파이썬과 비슷하다.

서버를 실행해보면 잘 동작한다.

경로이름 앞에 app의 이름을 붙여줌

만약 다른 앱의 똑같은 이름의 url이 필요한 경우(경로 이름을 같게 설정한 경우)

# home>urls.py

app_name = "home" # 앱 이름 설정
urlpatterns = [
  path('go_hello', hello, name="hello"),
]

앱 이름을 설정한 후

# main.html

<a href="{% url 'home:hello' %}">누르면 이동해요</a>

home앱의 hello라는 이름을 가진 경로로 이동해라

profile
걸음마코더

0개의 댓글