일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 멋사10기
- discord
- 멋사11기
- 웹동아리
- 디스코드봇
- 멋쟁이사자처럼
- 파이썬 크롤링
- 멋사 서류
- 멋사12
- 파이썬
- 알림봇
- 멋사 합격
- 크롤링
- 멋쟁이 사자처럼
- 멋쟁이사자처럼대학
- 코딩동아리
- 기사 제목 크롤링
- 백엔드
- django
- 멋사 10기
- 멋쟁이사자처럼 서류
- API
- IT동아리
- 멋쟁이사자처럼10기
- 멋쟁이사자처럼11기
- ㅏㄴ
- 깃허브
- 멋사 면접
- 멋사
- 멋사 서류평가
- Today
- Total
ACHO.pk devlog
[멋쟁이사자처럼10기] Django url mapping 다루기 본문
Django에 대한 학습과 실습을 진행했으니 이제 사이트를 만들어 볼 시간이다.
내가 반복해서 말하지만, 나는 기억을 하고 익히기 위해 계속해서 정리하고 기록하는 것이다.
이전 강의에서 이미 한 번 했던 내용이므로 간단하게 넘어가도록 하겠다.
자세한 내용은 https://acho.tistory.com/30 에서 보고 오도록하자.
$ python -m venv 가상환경이름
$ source 가상환경이름/Scripts/activate
$ pip install django
$ django-admin startproject 프로젝트이름
$ python manage.py runserver
URL mapping
url를 등록하고 각각의 html를 연결해보자
우리가 만든 애플리케이션 내부에 templates 폴더를 생성한 후에 html 파일을 만들어준다.
<h1>first</h1>
<a href="/second"> to second </a>
<h1>second</h1>
<a href="/"> to first </a>
프로젝트 폴더 안에 있는 urls.py 파일에
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.first),
path('second/', views.second)
]
애플리케이션 폴더 안에 있는 view.py 파일에 함수를 만들어준다.
def first(request):
return render(request, 'first.html')
def second(request):
return render(request, 'second.html')
to second를 클릭하면 second.html 페이지로 넘어간다.
to first를 클릭하면 first.html 페이지로 넘어간다.
어플리케이션을 이용하여 URL 관리하기
계층적으로 연결된 URL를 효율적으로 관리하는 방법에 대해 알아보자
1. 새롭게 어플리케이션을 만들어준 후 settings.py에 등록한다.
2. 새롭게 만든 어플리케이션 폴더 안에 인의적으로 urls.py를 만들어준다.
3. 우리의 프로젝트 폴더 안에 urls.py 파일에서 아래 코드를 작성한다.
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.first),
path('second/', views.second),
path('products/', include('product.urls')),
path('boards/', include('board.urls'))
]
boards/로 시작하는 모든 url은 board.urls에서 관리한다는 의미를 가지고 있다.
4. board application과 product application의 url를 먼저 셋팅한다.
from django.urls import path
from board import views
urlpatterns = [
path('', views.board),
#사이트주소/boards/ 뒤에 아무것도 입력하지 않았을 때 boards 함수가 실행
path('first/', views.boardfirst),
#사이트주소/boards/first 일 때 boardfirst 함수가 실행
]
from django.urls import path
from product import views
urlpatterns = [
path('', views.productlist),
#사이트주소/products/ 뒤에 아무것도 입력하지 않았을 때 boards 함수가 실행
path('first/', views.productfirst),
#사이트주소/products/first 일 때 productfirst 함수가 실행
]
5. 각각의 어플리케이션 폴더 안에 views.py 파일에 아래 코드를 작성한다.
from django.shortcuts import render
# Create your views here.
def board(request):
return render(request, 'board.html')
def boardfirst(request):
return render(request, 'boardfirst.html')
from django.shortcuts import render
# Create your views here.
def productlist(request):
return render(request, 'productlist.html')
def productfirst(request):
return render(request, 'productfirst.html')
6. 애플리케이션 어플 안에 templates 폴더 생성 후 5번 코드에서의 html 이름과 동일한 이름의 html 파일을 만들어준다.
'멋쟁이사자처럼' 카테고리의 다른 글
[멋쟁이사저처럼10기] bootstrap 다루기 (0) | 2022.06.26 |
---|---|
[멋쟁이사저처럼10기] Django static 파일 다루기 (0) | 2022.06.26 |
[멋쟁이사자처럼10기] 가상환경 설정하고 Django 시작하기 (0) | 2022.05.23 |
[멋쟁이사자처럼10기] Django와 친해지기 (0) | 2022.05.21 |
[멋쟁이사자처럼10기] python_SMTP 서버로 메일보내기 (0) | 2022.05.07 |