□ 사진과 같이 onememos라는 앱을 생성하였고, 앱에 대한 메인 url과 서브 url을 지정하였음.
*app 생성이 되면 부모폴더와 달리 urls.py가 없으므로 직접 수동으로 생성해줘야함
app 메인 url = "" | http://localhost:*****/onememos/ |
app 서브 url = "서브url명/" *서브 url명은 app의 views.py에서 지정한 함수명으로 지정 |
http://localhost:*****/onememos/서브url명 |
#라이브러리
from django.urls import path
from . import views
urlpatterns = [
#path(1."", 2.어떤 것, 즉, view 파일에서 정의한 함수, name="대표키워드")
#"" 웹 주소~~(http://localhost:*****/onememos/)와 같은의미, 2는 어떤것(view)
path("", views.main, name="main"), #view파일에서 지정한 main 함수로 연결(views에서 정의한 함수명과 동일하게 설정) + (name 생략가능)
path("createMemo/", views.createMemo) #onememos/createMemo url. view의 createMemo 함수 호출
]
□ 물론 URL PATTERN 정의를 위해 onememos app의 Views.py에서 함수를 정의하였고 이에 기반하여 URL PATTERN을 정의하였음. 즉, views에서 정의한 함수를 통해 URLPATTERN을 정의.
from django.shortcuts import render
from django.http import HttpResponse #해당 페이지에대한 응답관련 라이브러리
from .models import *
def main(request): #requests에 주소가 매게변수로 들어감 / index 또는 main으로 기재해도됨
#요청에 따른 응답으로 뿌려주겠음
#return HttpResponse("OneMemos!Hello, World!:-)"
return render(request, "main.html") #templates>main.html을 틀어놓은다.
def createMemo(request): #requests에 주소가 매게변수로 들어감 / index 또는 main으로 기재해도됨
memoContent = request.POST["memoContent"]
memoName = request.POST["memoName"]
memoEmail = request.POST["memoEmail"]
return HttpResponse("Create Memo = "+ memoContent + memoName + memoEmail)
□ onememos app의 url 정의가 끝났다면 프로젝트 부모폴더의 urls.py에 include함수를 활용해 app에대한 url을 포함시킨다.
from django.contrib import admin
from django.urls import path, include #path함수, include 함수사용을 위해 호출
#urlpatterns 정리
# └ /(슬래시)는 기본적으로 장고가 알아서하지만 특별한 경우가 아니라면 /(슬래시)를 붗여주자
# └ 마지막에 ,(콤마)를 생략해도되고 붙여도됨
# └ 서버구동시 변화가 감지되면서 자동으로 리로더
# └ 잘못된 코드로 오류가 나면 서버구동이 자동적으로 감지하고 에러를냄. 수정되면 다시 재구동함.
# └ 초기화면 view.index 또는 views.main으로 해도됨.
urlpatterns = [
#하위앱에 대한 url주소와 urls.py (앱명.urls 기재) 경로
path('admin/', admin.site.urls),
path("onememos/", include("onememos.urls")), #onememos 앱 하위에 urls
]
'Python > Django Ⅰ' 카테고리의 다른 글
CSRF_TOKEN 과 DB 입출력 (1) | 2024.04.15 |
---|---|
SQLite 를 활용한 DB 조회 (0) | 2024.04.15 |
Models 생성 (0) | 2024.04.13 |
Django 주요개념 : 정리 (0) | 2024.04.11 |
가상환경 설치 & 장고 설치+삭제 & 서버구동 + superuser 생성 (0) | 2024.04.08 |