121번째 줄: |
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="python3"> |
| + | from django.urls import path, include |
| + | from .views import * #해당 앱의 뷰를 불러온다. |
| + | |
| + | app_name = '앱이름' #이름공간을 위한, 인덱싱을 위한 변수이다. 이걸 작성하면 인덱스는 '앱이름:인덱스'로 바뀐다. |
| + | |
| + | urlpatterns = [ |
| + | path('주소/', 불러올파이썬파일.불러올함수, name='인덱스명'), |
| + | path('주소/', include('앱이름.urls')), |
| + | past(.....) |
| + | .... |
| + | ] |
| + | </syntaxhighlight> |
| ===앱/urls.py 작성=== | | ===앱/urls.py 작성=== |
| /앱이름/urls.py 파일을 생성해두어야 한다. 다음과 같은 요소들이 최소요소. 여기서 작성된 url은 이전 주소 뒤에 붙는다.<syntaxhighlight lang="python3"> | | /앱이름/urls.py 파일을 생성해두어야 한다. 다음과 같은 요소들이 최소요소. 여기서 작성된 url은 이전 주소 뒤에 붙는다.<syntaxhighlight lang="python3"> |
− | from django.urls import path, include #include를 더 import 하자. | + | from django.urls import path |
| from .views import * #해당 앱의 뷰를 불러온다. | | from .views import * #해당 앱의 뷰를 불러온다. |
| | | |