반응형
    기본 URL로 접근시 접속 페이지 만들기 (main)
    • http://192.168.85.4:8080 으로 접속 시  다음과 같은 404 not found가 발생 함 
    • urls.py에 기본접속에 대한 부분이 없어 나타나는 현상

    • myweb 하위에 main 디렉토리 생성
    • 아무 내용이 없는 상태 임
    • 여기에 views.py 와 urls.py를 생성 함
    • views.py
    • urls.py

    • 상위 myweb 디렉토리 내의 urls.py를 수정
    • path('',include('myweb.main.urls')), 를 추가
    • 접속
    • 성공
    • -
  1. HTTP Exception 처리
    • URL을 처리 하는 도중발생한 에러에 대하여 처리하는 방법
    • 40x, 50x, 등의 오류 (ex: 404 - page not found 등)
    • 기본적으로 오류 발생시 나타나는 화면
    • 404 에러시
    • 처리 방법
      • settings.py를 오픈
      • 위 DEBUG = TRUE를 DEBUG = FALSE로 수정      # 오류에 대한 정보를 표시함, 따라서 실제 운영 Deploy에서는 반드시 False로 설정 필요
      • TEMPLATES = [ 를 찾아 해당 부분에 templates 위치를 삽입
      • templates를 저 위치에서 찾아 적용한다는 의미 임
      • 저장 후 닫기
      • 웹 서비스 상단으로 들어가서
      • templates 폴더를 생성
      • 404.html을 만들고 적당한 문구를 삽입하고 확인
      • 없는 링크를 호출 하여 결과 확인
      • 마찬가지로 500.html등을 생성 하면 됨.
      • 단, 500에러의 경우 Exception 처리 등을 위해서 별도 소스 작업을 할수 도 있음


반응형
    1. 생성된 myweb(App)내에 신규 app을 만들어 연결하기
    • myweb 하위에 신규 app을 생성
    • 생성명 : insidemyweb

    • myweb 안쪽을 보면 생성된 신규 insidemyweb 생성 됨
  1. 생성된 insidemyweb에 내용 설정
    • apps.py에 다음과 같이 설정 됨 (없으면 생성)
    • views.py에 아래 index()를 설정
    • urls.py에 다음과 같이 설정
  2. myweb에서 urls.py에 추가 설정
    • 기 추가되어 있는 firstworld 하위에 다음 문장을 추가
    • path('insidemyweb/', include('myweb.insidemyweb.urls')),
    • 위 문장은 URL에 insidemyweb으로 들어올 경우 myweb/insidemyweb/urls.py를 호출한다는 의미
    • 특이사항은 path를 /(slash)가 아닌 .(dot)으로 구분 함
  3. 실행


반응형

Django 기반에서 HelloWorld를 화면에 출력하기 위한 내용 임

Django 설치는 Django 테스트 환경 구축 #1을 참조


  1. 설치된 django에서 새로운 app을 생성
    • #./manage.py startapp firstworld
    • firstworld가 생성 됨
  2. views.py 작성
    • from django.http import HttpResponse      #HttpResponse로 객체를 반환하기 위해 import
    • def index(request):                                       # index 함수 생성
    •       return HttpResponse("Hello. Welcome First World of Django")       # 문자열 객체 반환
    • 를 추가
  3. urls.py 작성
    • urls.py가 없는 경우 새로 생성
    • from django.urls import path
    • from . import views
    • urlpatterns = [
    •         path('', views.index, name='index')    #views의 index를 호출함
    • ]
    • 를 추가
  4. 최상위를 가지는 디렉토리로 이동하여 urls.py에 firstworld를 연결
    • path('firstworld/', include('firstworld.urls'))     # URI에 firstworld가 추가되는 경우 firstworld의 urls.py를 참조한다는 의미
  5. 서비스 재 시작 
    • 웹 브라우저에서 접속 
    • /firstworld/까지 입력