Django 템플릿 컨텍스트 사용하기

소개



Django는 웹 개발을 위한 프레임워크로서의 탄력성을 입증했습니다. Django는 개발자들에게 개발 시간을 줄이는 데 도움이 되는 강력한 라이브러리가 있는 별개의 경기장을 제공합니다. Django를 사용하면 개발자가 능숙한 환경에서 클라이언트 측과 서버 측 모두에 참여할 수 있습니다. 이 기사에서는 클라이언트 측에서 콘텐츠를 템플릿으로 렌더링하는 데 도움이 되는 Django 템플릿 컨텍스트를 살펴봅니다.

전제 조건


  • 파이썬 3.x
  • 장고

  • 시작하기



    항상 그렇듯이 가상 환경을 설정하는 것은 코드 종속성을 제어하는 ​​데 도움이 되므로 중요합니다. 따라서 가상 환경을 만들고 관리하기 위한 표준 라이브러리인 python venv를 사용하여 가상 환경을 만드십시오. 터미널을 사용하여 다음 단계를 구현합니다.
  • 새 디렉토리를 만들고mkdir directoryname 새 디렉토리로 cdcd directoryname
  • 가상 환경 만들기 python3 -m venv myvenv
  • 가상 환경으로의 CD cd myvenv
  • 가상 환경 활성화 source bin/activate

  • 이제 새로운 가상 환경에 Django를 설치하십시오.


  • 먼저 pipsudo apt-get install python3-pip를 설치합니다
  • .
  • pip를 사용하여 Django 프레임워크 설치pip3 install django
  • 설치 확인 django-admin --version

  • Django 프로젝트 설정


  • 이제 Django 프레임워크가 설치된 상태에서 django-admin startproject projectname
  • 를 사용하여 Django 프로젝트를 생성합니다.
  • 생성된 프로젝트에 CDcd projectname
  • 데이터베이스에 대한 마이그레이션 수행python3 manage.py migrate
  • python3 manage.py createsuperuser를 사용하여 관리자 액세스를 위한 슈퍼 사용자를 만들고 사용자 이름, 이메일 및 비밀번호를 입력합니다.
  • 이제 python3 manage.py startapp appname
  • 를 사용하여 첫 번째 Django 앱을 만듭니다.
  • 서버python3 manage.py runserver를 시작하면 터미널에 링크http://127.0.0.1:8000/
  • 가 표시됩니다.
  • 링크를 클릭하면 브라우저에서 웹페이지로 이동하며 아래와 같이 표시되어야 합니다.



  • 첫 번째 템플릿 렌더링



    Django에는 HTML 파일을 웹으로 렌더링하는 데 도움이 되는 동적 템플릿 시스템이 있습니다.

    settings.py 파일 구성



    프로젝트 폴더 아래의 settings.py로 이동하여 INSTALLED_APPS 목록 변수를 구성합니다. 목록 변수에 'my_app.apps.WebAppConfig'를 추가합니다.

    템플릿 폴더 생성



    앱 폴더에서 새 폴더를 만들고 이름을 템플릿으로 지정합니다. 템플릿 폴더 안에 앱 이름과 같은 이름으로 다른 폴더를 만듭니다. 즉, 앱 이름이 my_app이면 템플릿 폴더 안의 폴더도 my_app이어야 합니다.

    새로 생성된 폴더에 index.html 파일을 생성합니다.

    첫 번째 보기 만들기



    앱 폴더의 views.py 파일로 이동합니다.

    from django.shortcuts import render
    
    def home(request):
        return render(request, 'my_app/index.html')
    


    앱 폴더에서 urls.py 파일을 만들고 홈 페이지 경로를 시작합니다.

    from django.urls import path
    from my_app.views home
    
    urlpatterns = [
        path('', home, name='home'),
    ]
    


    프로젝트 폴더에서 앱의 URL을 포함하도록 urls.py 파일을 편집합니다.

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


    템플릿 컨텍스트 사용



    템플릿 컨텍스트는 키 값 쌍으로 표시되는 변수 이름이 있는 사전입니다. 웹 페이지에 렌더링할 콘텐츠를 전달하기 위해 보기 기능 내에서 시작됩니다. 예를 들어 데이터베이스에서 웹 페이지로 데이터를 렌더링하려고 합니다. 데이터는 사용자의 개인 정보가 되도록 합니다.

    models.py에서 사용자를 위한 모델을 만들어 봅시다.

    from django.db import models
    
    class Users(models.Model):
        fullname = models.CharField(max_length=100)
        email = models.CharField(max_length=50)
        mobile = models.CharField(max_length=15)
    


    데이터베이스로 마이그레이션:

    python3 manage.py makemigrations
    python3 manage.py migrate
    


    데이터를 렌더링하기 위해 다음과 같이 홈 뷰 기능에 컨텍스트를 추가할 수 있습니다.

    from multiprocessing import context
    from django.shortcuts import render
    from .models import Users
    
    def home(request):
        context = {'users_list': Users.objects.all()}
        return render(request, 'my_app/index.html', context)
    


    index.html 파일에서 템플릿 태그를 사용하여 다음과 같이 사용자 정보를 렌더링할 수 있습니다.

    <!--Users Table-->
    
    <div class="row">
        <div class="table-responsive bg-white my-3" style="border-radius: 5px;">
        <div class="title fw-bold fs-3">
            Users List
        </div>
        <table class="table table-striped">
            <thead class="border-bottom font-weight-bold">
            <tr
                <td>Full Name</td>
                <td>Mobile</td>
                <td>Email</td>
            </tr>
            </thead>
            <tbody>
            {% for user in users_list %}
            <tr>
                <td>{{user.fullname}}</td>
                <td>{{user.mobile}}</td>
                <td>{{user.email}}</td>
            </tr>
            {% endfor %}
            </tbody>
        </table>
        </div>
    </div>
    


    모든 사용자 정보는 웹 페이지에서 테이블 정보로 렌더링됩니다. {{user.fullname}}는 사용자의 전체 이름으로 대체되며 다른 변수 이름도 마찬가지입니다.

    결론



    템플릿 컨텍스트의 기능은 콘텐츠를 웹 페이지에 빠르고 효율적인 방식으로 렌더링하는 데 도움이 됩니다. Django 템플릿 컨텍스트에 대해 자세히 알아볼 수 있습니다here..

    좋은 웹페이지 즐겨찾기