프로그램 기본
Hello > urls.py
urls 페이지에서 url 세팅
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', views.index),
]
index 페이지를 생성하고 views에 연결
Hello > views.py
views 페이지 생성
def index(request):
return HttpResponse("Index Page입니다.")
TERMINAL에서 서버 접속 코드 입력
python ./Hello/manage.py runserver
생성된 호스트 주소로 접속
호스트 페이지에서 index로 접속
index 페이지가 정상적으로 작동함
admin 생성
: 장고에서 기본적으로 제공하는 회원관리 시스템
cmd
python manage.py migrate
python manage.py createsuperuser
호스트 사이트에서 admin 페이지로 접속
생성한 아이디/비밀번호로 접속
서브앱 생성 : VS Code
TERMINAL에서 서브앱 생성 코드 입력
cd Hello // 프로젝트 폴더로 이동
.\manage.py startapp overview // overview 서브앱 생성
Hello > settings.py
모체인 Hello의 setting에서 앱 추가
Hello > urls.py
urls 페이지에서 include 경로 추가
path에 overview 페이지 경로 추가
Hello > overview > urls.py
서브앱 내의 urls 페이지에 하위 경로 페이지 추가
계층적으로 들어가는 구조
Hello > overview > views.py
from django.shortcuts import render
from django.http import HttpResponse, HttpRequest
# Create your views here.
def index(request : HttpRequest):
return HttpResponse('overview & index page')
def overview(request : HttpRequest):
return HttpResponse("overview/overview page")
뷰페이지 내용 추가
overview 페이지로 이동
정상 출력 확인
Exercise
여러 언어 지원 페이지 구현
urls 페이지에서 re_path import
path에 언어별 경로 세팅
re_path에 경로 세팅
* path : 프로젝트내부에 URL을 등록하는 함수
url에 맞는 실행내용을 가진 함수와 연결하는 역할
url을 통해서 app안의 urls와 연결하는 역할
URL의 계층화
기능별 View들을 관리하기위해서 APP을 만든다
다수의 url들을 APP별로 관리할수 있도록 계층화를 한다
Django의 확장성과 이식성 그리고 유연성을 부각시키기 위해서 만들어진다
SubApp 만들기
manage.py 경로와 파일명 startapp [App명]
* 이슈 : python을 제일 앞에 붙여서 만든다
re_path
re = Regex(정규식)
views 페이지 작성
언어별 페이지 세팅(2가지 방법)
from django.http import HttpRequest, HttpResponse
def index(request):
return HttpResponse("Index Page입니다.")
def document(request,lang):
lang_code = {"ko":"한국어", "us":"영어", "fr":"프랑스", "jp":"일본"}
if lang_code.get(lang):
message = f"{lang_code.get(lang)} 페이지 입니다."
else:
message = "{} 알 수 없는 코드 입니다.".format(lang)
return HttpResponse(message)
def document1(request,lang):
lang_code = {"ko" : "한국어","us" : "영어","fr":"프랑스","jp":"일본"}
message = f"{lang_code.get(lang)} 페이지 입니다."
return HttpResponse(message)
TERMINAL에서 실행 코드 입력
python ./Hello/manage.py runserver
설정한 경로 url 중 필요한 페이지로 이동
4.와 5.의 2가지 방법으로 언어페이지에 접근할 수 있다
경로 별 접속 시 올바르게 출력됨
'Backend > Django' 카테고리의 다른 글
Django 파이썬 장고 DB 연결 (0) | 2023.07.13 |
---|---|
Django 파이썬 장고 Template Filter (0) | 2023.07.11 |
Django 파이썬 장고 기본 개념 및 기본 세팅 (0) | 2023.07.07 |
Django 장고 프레임워크 설치 및 기본 세팅 (0) | 2023.07.07 |