[Django/기본 이론 및 프로젝트 앱 생성]

SooYeon Yeon·2022년 6월 18일
0

Django

목록 보기
1/20

장고란 ?

웹 애플리케이션 프레임워크

  • 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이려는 목적
  • DB 연동, 템플릿 형태 표준, 세션 관리, 코드 재사용 등의 기능

프레임워크란?

  • 애플리케이션 개발에 바탕이 되는 템플릿과 같은 역할을 하는 클래스, 인터페이스의 집합

MVT 패턴

  • Model + View + Template
  • 웹 애플리케이션 개발에 있어 영역을 크게 3가지로 나눔
  • 각 영역을 독립적으로 개발

1. Model

  • 사용자 or 파이썬 프로그램과 DB가 주고받을 데이터

2. View

  • 사용자의 요청에 대한 데이터들이 처리되는 부분
  • 실질적인 파이썬 동작 코드 작성하는 부분

3. Template

  • 웹 페이지에서 사용자가 보게 될 페이지
  • html, css, javascript 등

프로젝트 생성

  1. 파이참 설치 및 실행

  2. 장고 설치

    1. 파이참 Terminal에서 pip install django 입력
    pip install django
  3. 프로젝트에 장고 적용

    django-admin startproject config .
  4. 장고 프로젝트 실행

    python [manage.py](http://manage.py) runserver
    
    # 모두에게 접근 가능하게 설정하려면 이렇게도 가능
    python [manage.py](http://manage.py) runserver 0.0.0.0:8000

App 생성

  1. App 폴더 만들기

    python manage.py startapp ex01 #ex01이라는 폴더 만듦
  2. config의 settings.py 파일 INSTALLED_APPS에 자신의 앱 추가

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'ex01'
    ]
  3. [앱이름][views.py](http://views.py/) 에서 코드를 작성

    from django.http import HttpResponse
    from django.shortcuts import render
    
    # Create your views here.
    def func1(request):
        return render(request, 'page1.html')
  4. [앱이름][urls.py](http://urls.py/) 파일

    path('qwer/abcd/', ex01.views.func1)
  5. [앱이름]\templates 폴더 생성

    • html 파일 생성
  6. settings.py에 TEMPLATES의 DIRS에 템플릿으로 사용할 디렉토리 경로 지정

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [BASE_DIR/'templates'],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
  7. config[urls.py](http://urls.py/)

    from django.contrib import admin
    	from django.urls import path, include
    	
    	urlpatterns = [
    	    path('test01/', include('test01.urls')),
    	    path('admin/', admin.site.urls),
    	]

0개의 댓글