>  기사  >  백엔드 개발  >  Django 웹 프레임워크 초보자를 위한 가이드: 앱 생성, 뷰 생성, URL 및 템플릿 구성

Django 웹 프레임워크 초보자를 위한 가이드: 앱 생성, 뷰 생성, URL 및 템플릿 구성

WBOY
WBOY원래의
2024-08-06 21:38:021008검색

Django로 웹 애플리케이션 구축, 실용 가이드.?️ ???

캡슐 2: 앱, 뷰, 템플릿 생성 및 경로 구성

안녕하세요 동지 여러분, Django 튜토리얼 시리즈에 다시 오신 것을 환영합니다! 이제 또 한 주가 남았으니 이번 주의 KodeCapsule을 가져가야 합니다. 이전 기사에서 우리는 Django 프레임워크의 기초, 즉 아키텍처, 모델, 뷰, 템플릿 및 Django에서 새 프로젝트를 시작하는 방법을 다루었습니다. 마지막 기사를 읽지 않았다면 계속하기 전에 여기로 돌아가서 해당 기사를 읽어 보시기 바랍니다. 그럼 이제 커피 한잔 들고 본격적으로 들어가 볼까요.

기사 개요

  1. 소개

  2. Django의 앱은 무엇인가요?

  3. Django에서 앱 만들기

  4. 앱에 대한 뷰 생성

  5. 앱 URL 생성

  6. 앱에 템플릿 추가

  7. 결론

  8. 참고자료

소개

이 튜토리얼에서는 Django 프로젝트의 핵심 구성 요소를 구축하고 사용하는 방법에 대해 자세히 알아봅니다. Django에서 앱을 생성하고, 설정을 구성하고, 요청을 처리하기 위한 뷰를 생성하고, URL 경로를 설정하는 방법을 살펴보겠습니다. 이 튜토리얼이 끝나면 당신은

  1. Django에서 새 앱을 만드는 방법

  2. 프로젝트 설정에 이 앱을 포함하는 방법

  3. 앱의 URL 패턴을 정의하는 방법

  4. 요청과 응답을 표시하는 뷰 작성 방법

  5. 앱에 템플릿을 추가하는 방법

시작하자!!!!!!!!

Django의 앱이란 무엇인가요?

django에서 앱은 특정 기능을 수행하는 모듈입니다. 앱은 연락처 양식과 같은 프로젝트의 기능처럼 간단할 수도 있고 블로그나 결제 시스템과 같은 완전한 기능을 갖춘 구성 요소일 수도 있습니다. 앱은 다양한 프로젝트에서 재사용할 수 있도록 설계되었습니다. 코드를 앱으로 구성하면 코드 재사용성, 유지 관리성 및 확장성이 가능해집니다. 앱과 프로젝트의 차이점은 앱은 프로젝트에서 특정 기능을 수행하고 여러 프로젝트에서 사용할 수 있지만 프로젝트는 구성 컬렉션, 특정 웹사이트용 앱으로 구성된다는 것입니다. 앱의 주요 특징은 다음과 같습니다.

  1. 모듈성: Django 앱은 본질적으로 모듈식이므로 앱을 독립적으로 개발 및 테스트하고 재사용할 수 있습니다. 이를 통해 프로젝트를 더욱 체계화하고 관리하기 쉽게 만들 수 있습니다.

  2. 재사용성: 앱은 독립적이므로 다른 Django 프로젝트에서 쉽게 재사용할 수 있습니다. 예를 들어, 한 프로젝트에 대한 블로그 앱을 만들고 동일한 앱을 수정 없이 다른 프로젝트에 사용할 수 있습니다.

  3. 관심사항 분리: 각 앱은 프로젝트의 특정 측면을 처리합니다. 이렇게 분리하면 애플리케이션의 다양한 부분을 더 쉽게 관리할 수 있습니다.

  4. 캡슐화: 앱은 모델, 뷰, 템플릿, 정적 파일 및 특정 기능과 관련된 기타 구성 요소를 캡슐화하여 자체 디렉터리 내에 정리된 상태로 유지합니다.

Django에서 앱 만들기

이전 기사에서는 이미 프로젝트를 설정했습니다. 첫 번째 앱을 만들어 보겠습니다. 이 앱은 블로그 애플리케이션이 될 예정입니다.

1.앱을 만들려면 프로젝트 폴더와 터미널로 이동하여 이 명령을 실행하세요. 가상 환경을 활성화했는지 확인하세요.

pythonmanage.py startapp 블로그

이 명령은 아래 설명된 폴더 구조에 필요한 모든 설정 파일이 포함된 새 디렉터리를 생성합니다.

├── 블로그/
│ ├── 마이그레이션/
│ │ └──init.py
│ ├── init.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── test.py
│ └── views.py

나. migrations/: 이 폴더에는 앱의 모든 데이터베이스 마이그레이션이 저장됩니다

II. init.py: 해당 디렉토리를 Python 패키지로 처리하도록 Python에 알리는 빈 파일입니다.

III. admin.py: django 관리 인터페이스의 구성 파일입니다. admin.py 파일의 기능은 django 관리자 패널에 앱 모델을 등록하는 것입니다. 나중에 Django 관리자를 살펴보겠습니다

IV. apps.py: 여기에는 앱 구성이 포함되어 있으며 앱의 메타데이터도 포함될 수 있습니다.

브이. models.py: 이 스크립트는 앱의 데이터 모델을 미세 조정하는 곳입니다.

VI. 테스트.py: test.py 스크립트는 앱에 대한 테스트 사례를 작성하는 곳입니다

VII. views.py: 이 스크립트에는 앱에 대해 정의한 보기가 포함되어 있습니다. 뷰는 애플리케이션의 비즈니스 로직을 처리합니다.

2.프로젝트 설정에서 설치된 앱 목록에 블로그 앱을 추가하세요.

INSTALLED_APPS = [ 'django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 

#my apps
'blog',
]

뷰 생성

뷰는 애플리케이션에서 중요한 역할을 합니다. 애플리케이션의 비즈니스 논리는 보기에 정의됩니다. 뷰는 프리젠테이션 레이어와 데이터 레이어 사이를 연결하는 역할을 합니다. Django에는 함수 기반 보기와 클래스 기반 보기의 두 가지 주요 보기 유형이 있습니다(이에 대한 자세한 내용은 다음 기사에서 확인하세요). 이 튜토리얼에서는 함수 기반 뷰를 계속 사용하겠습니다.

1.블로그 앱에서 views.py 파일을 엽니다

2.http 패키지에서 HttpResponse 가져오기

django.http에서 HttpResponse 가져오기

3.home이라는 함수를 정의합니다(함수 이름은 원하는 대로 지정할 수 있습니다). 이 함수는 HttpResponse
를 반환합니다.

from django.http import HttpResponse

 def home(request):
      return HttpResponse("<h1>Welcome to the Home Page</h1>")

앱 URL 생성

사용자가 웹 앱의 다양한 섹션에 액세스하려면 앱의 각 기능에 대한 액세스 지점을 정의해야 합니다. Django에서는 앱에 대한 URL을 생성하여 이를 수행합니다. URL 패턴은 특정 보기에 매핑됩니다.

Django에서는 프로젝트 urls.py 스크립트에서 프로젝트의 모든 URL을 정의할 수 있지만 프로젝트의 개별 앱에 대해 별도의 urls.py 스크립트를 생성하는 것이 가장 좋습니다.

1.블로그 앱 디렉토리에 urls.py 스크립트를 생성하세요.

2.django의 urls 패키지에서 경로 함수를 가져옵니다. path 함수는 세 가지 인수(route, view, kwargs 및 name)를 취하고 요소를 반환합니다. 이 기능에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

django.urls 가져오기 경로에서

3.앱 뷰 가져오기

에서 . 뷰 가져오기

4.urlpatterns라는 목록을 만들고 홈 페이지의 URL을 정의합니다. 이 목록은 urlpatterns 프로젝트의 목록과 유사합니다.

urlpatterns = [ path('', views.home, name='home_page' ]

5.프로젝트 URL을 업데이트합니다. 앱에 액세스할 수 있게 하려면 기본 프로젝트 urls.py 를 업데이트해야 합니다. 프로젝트의 urls.py 파일을 열고 urls 패키지에서 포함 기능을 가져온 후 urlpatterns 목록을 업데이트하세요.

 from django.contrib import admin
 from django.urls import path, include

 urlpatterns = [
     path('admin/', admin.site.urls),
    path('', include('blog.urls')),
   ]

6.그런 다음 일반적인 명령을 사용하여 모든 파일을 저장하고 개발 서버를 시작합니다

pythonmanage.py runserver

브라우저에서 URL을 열면 기본 django 홈 페이지가 home 기능의 응답으로 변경됩니다.

A Beginner’s Guide to Django Web Framework: Creating Apps, Views, Configuring URLs and Templates

앱에 템플릿 추가

이전 섹션에서 홈 보기의 휴식은 HTML 헤더 태그가 포함된 http 응답을 반환했습니다. 많은 양의 HTML 태그가 포함된 전체 페이지를 반환하려면 어떻게 해야 합니까? 이것이 django의 템플릿이 들어오는 곳입니다. Django 템플릿을 사용하면 사용자 브라우저에 표시될 HTML 구조를 정의할 수 있습니다. 템플릿을 사용하면 DTL(Django Templating Language)을 사용하여 동적 콘텐츠를 생성할 수 있습니다. Django에서는 템플릿을 앱이나 애플리케이션의 루트에 배치합니다(다음 기사에서 django 템플릿에 대한 자세한 내용을 확인하세요).

1.템플릿 디렉터리 만들기: 블로그 앱에 템플릿 디렉터리를 만듭니다. 템플릿 디렉터리에 blog라는 또 다른 디렉터리를 만듭니다.
2.템플릿을 생성합니다.
이라는 HTML 파일을 생성하고

myproject/
    blog/
        templates/
            blog/
                index.html 

3.index.html 파일을 다음 코드로 업데이트하세요.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Blog App</title>
</head>
<body>
 <h1>Welcome to the Home page</h1>
 <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptas maiores, modi facilis veritatis amet eum labore odio sit nemo eius?</p>
  </body>
</html>

4.홈 뷰 업데이트: 뷰 파일을 열고 바로가기에서 렌더링을 가져옵니다. render 함수를 사용하여 index.html을 반환하도록 함수 본문을 업데이트하세요.

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

변경 사항을 저장하고 브라우저를 다시 로드하세요.

A Beginner’s Guide to Django Web Framework: Creating Apps, Views, Configuring URLs and Templates

결론

이번주 Kodecapsule이 끝났습니다. 이 문서에서는 django에서 첫 번째 앱 만들기, 뷰 만들기, URL 구성 및 django에서 템플릿 렌더링을 살펴보았습니다. 다음 글에서는 모델과 템플릿에 대해 자세히 살펴보겠습니다.

Zero에서 Django 전문가까지 안내하는 이 시리즈의 기사를 꼭 시청하세요.
귀하의 제안과 의견은 언제나 환영합니다.
쿠세 웨월리아모

참고자료

https://docs.djangoproject.com/en/5.0/topics/http/views/
https://docs.djangoproject.com/en/5.0/topics/templates/
https://docs.djangoproject.com/en/5.0/ref/urls/#include
https://docs.djangoproject.com/en/5.0/ref/urls/#path
https://www.w3schools.com/django/django_create_app.php

위 내용은 Django 웹 프레임워크 초보자를 위한 가이드: 앱 생성, 뷰 생성, URL 및 템플릿 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:파이썬 사전다음 기사:파이썬 사전