바뀜

856 바이트 추가됨 ,  2022년 4월 29일 (금) 23:11
편집 요약 없음
11번째 줄: 11번째 줄:  
* 매칭되는 뷰가 없다면 에러를 처리하는 뷰를 호출한다.
 
* 매칭되는 뷰가 없다면 에러를 처리하는 뷰를 호출한다.
   −
==어떻게?==
+
=연결=
path()함수와 re_path()함수 따위를 통해 URL과 함수를 연결시킨다.
+
path()함수와 re_path()함수 따위를 통해 URL과 함수(view)를 연결시킨다.
 +
<syntaxhighlight lang="python">
 +
from django.urls import path
 +
from . import 불러올파이썬파일  # 현재경로에서 불러온다는 의미.
 +
 
 +
urlpatterns = [
 +
    path('주소/', 뷰),      # 해당 주소로 들어가면 뷰를 실행한다.(뷰는 위에서 import해와야 한다.)
 +
    path('', a)            # http://도메인 으로 접속하면 a함수와 연결된다.
 +
    path('test/', test)      # http://도메인/test/ 로 접속하면 test 함수와 연결된다.
 +
    past(.....)
 +
    ....
 +
]
 +
</syntaxhighlight>
 
===path()===
 
===path()===
 
route, view 2개의 필수인자와 kwargs, name 2개의 선택인자를 받는다.
 
route, view 2개의 필수인자와 kwargs, name 2개의 선택인자를 받는다.
109번째 줄: 121번째 줄:  
하나의 urls.py에 모든 주소를 관리하게 하는 건 양이 많아져 정리하기도 힘들다. 때문에 앱마다 URL을 알아서 관리하게끔 교통정리를 해주는 편이 좋다. 이 편이 정리하기에도, 확장하기에도 좋다.
 
하나의 urls.py에 모든 주소를 관리하게 하는 건 양이 많아져 정리하기도 힘들다. 때문에 앱마다 URL을 알아서 관리하게끔 교통정리를 해주는 편이 좋다. 이 편이 정리하기에도, 확장하기에도 좋다.
 
===config/urls.py 수정===
 
===config/urls.py 수정===
앱으로 넘겨줄 url을 <code>path('앱이름/', include('앱이름.urls')),</code> 형태로 고치면 앱이름 주소와 매칭되는 모든 URL을 앱이름.urls로 넘긴다. [http://xn--hq1bm8jm9l/%EC%95%B1%EC%9D%B4%EB%A6%84/ http://도메인/앱이름/] 으로 시작되는 모든 주소를 앱의 urls.py로 넘겨준다는 의미이다.(#이후경로 매핑을 위해 주소 뒤에 /를 붙여준다.)
+
앱으로 넘겨줄 url을 <code>path('앱이름/', include('앱이름.urls')),</code> 형태로 고치면 앱이름 주소와 매칭되는 모든 URL을 앱이름.urls로 넘긴다. [http://xn--hq1bm8jm9l/%EC%95%B1%EC%9D%B4%EB%A6%84/ http://도메인/앱이름/] 으로 시작되는 모든 주소를 앱의 urls.py로 넘겨준다는 의미이다.(#이후경로 매핑을 위해 주소 뒤에 /를 붙여준다.)<syntaxhighlight lang="python">
 +
from django.urls import path, include
 +
from .views import * #해당 앱의 뷰를 불러온다.
 +
 
 +
urlpatterns = [
 +
    path('주소/', 불러올파이썬파일.불러올함수, name='인덱스명'),  # 함수를 불러올 때 ()는 제외한다.
 +
    path('주소/', include('앱이름.urls')),
 +
    past(.....)
 +
    ....
 +
]
 +
</syntaxhighlight>
 
===앱/urls.py 작성===
 
===앱/urls.py 작성===
/앱이름/urls.py 파일을 생성해두어야 한다. 다음과 같은 요소들이 최소요소. 여기서 작성된 url은 이전 주소 뒤에 붙는다.<syntaxhighlight lang="python">
+
/앱이름/urls.py 파일을 생성해두어야 한다. 다음과 같은 요소들이 최소요소. 여기서 작성된 url은 이전 주소 뒤에 붙는다.<syntaxhighlight lang="python3">
from dfango.urls import path, include #include를 더 import 하자.
+
from django.urls import path
 
from .views import * #해당 앱의 뷰를 불러온다.
 
from .views import * #해당 앱의 뷰를 불러온다.
   119번째 줄: 141번째 줄:  
urlpatterns = [
 
urlpatterns = [
 
     path('주소/', 불러올파이썬파일.불러올함수, name='인덱스명'),
 
     path('주소/', 불러올파이썬파일.불러올함수, name='인덱스명'),
     past(.....)
+
     path(.....)
 
     ....
 
     ....
 
]
 
]