Python 언어의 인기와 함께 Django 프레임워크는 인기 있는 웹 개발 프레임워크가 되었습니다. Django 프레임워크의 풍부한 기능과 개발 효율성 향상 능력으로 인해 개발자들이 Django 프레임워크로 몰려들고 있습니다. 이 기사에서는 Django 프레임워크에 대한 몇 가지 입문 지식을 소개하고 초보자가 Django 사용을 더 잘 이해하고 익히는 데 도움이 되는 몇 가지 고급 프로그래밍 기술을 제공합니다.
Django 프레임워크는 Python 언어를 기반으로 구축된 오픈 소스 웹 프레임워크입니다. 디자인 철학은 MVC(Model-View-Controller) 디자인 패턴을 중심으로 "현실 기반, 단순성 및 실용적"이며 데이터베이스 인터페이스, URL 라우팅, 양식 처리 및 템플릿 렌더링을 포함한 완벽한 웹 개발 기능을 제공합니다. 사용자 인증 등
Django 설치
Django를 사용하기 전에 먼저 Django를 설치해야 합니다. pip를 사용하여 Django를 설치할 수 있습니다. pip install Django 명령을 실행하면 됩니다.
Django의 기본 구조
Django는 모델, 뷰, 템플릿을 포함한 여러 구성 요소로 나뉩니다.
Django용 URL 구성
URL 구성은 모든 HTTP 요청을 모니터링하고 적절한 보기로 전달하기 위한 기초입니다. Django에서는 프로젝트의 urls.py 파일에서 URL을 구성할 수 있습니다. 예:
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('about/', views.about, name='about'), ]
위는 간단한 URL 구성 예입니다. 이는 두 개의 URL을 정의합니다. 하나는 루트 디렉토리의 홈페이지이고 다른 하나는 /about/의 정보 페이지입니다. 경로는 views.py 파일의 index() 및 about() 보기 함수에 요청을 보냅니다. 보기 함수는 다음 섹션에서 정의됩니다.
Django의 뷰 함수
Django에서 뷰 함수는 사용자 요청에 응답하는 코드입니다. URL 구성의 경로를 기반으로 HttpResponse 개체를 생성합니다. 뷰 함수의 형태는 다음과 같습니다.
from django.http import HttpResponse def index(request): return HttpResponse("Hello, World!")
위는 간단한 index() 뷰 함수 예시입니다. HTTP 요청에 응답하고 "Hello, World!" 문자열을 반환합니다.
Django의 템플릿
Django의 템플릿은 웹 페이지 스타일을 정의하는 데 사용되는 코드입니다. 이를 통해 Python 코드를 HTML에 삽입하여 동적 웹 페이지를 구성할 수 있습니다. 템플릿 파일은 project/app/templates/ 디렉터리에 저장됩니다. 다음은 템플릿의 예입니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> <p>{{ content }}</p> </body> </html>
템플릿에서 {{ }}는 변수에 액세스하고 조건 및 루프를 실행할 수 있는 Python 코드 블록을 지정하는 데 사용됩니다. 위의 예에서 제목과 콘텐츠 변수는 보기 함수의 템플릿에 전달되어 제목과 단락을 동적으로 생성합니다.
Django의 모델
Django의 모델은 데이터 구조와 데이터베이스 간의 상호 작용을 정의하는 데 사용되는 코드입니다. 이를 통해 Python 방식으로 데이터베이스 레코드를 쉽게 작업할 수 있습니다. 모델 정의는 app/models.py 파일에 저장됩니다. 다음은 모델의 예입니다.
from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=200) pub_date = models.DateField() def __str__(self): return self.title
위의 예에서는 제목, 저자 및 pub_date 속성이 있는 Book 모델을 정의했습니다. __str__() 함수는 모델의 문자열 표현을 정의합니다. 이 모델은 저장을 위해 Django의 기본 SQLite 데이터베이스를 사용하며, 대안으로 mysql과 같은 다른 데이터베이스를 사용할 수 있습니다.
Django를 위한 고급 프로그래밍 팁
Django는 CSS, JavaScript 및 이미지와 같은 정적 파일 처리를 지원합니다. settings.py 파일에 다음 줄을 추가하세요:
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/var/www/static/', ] STATIC_ROOT = '/var/www/static_files/'
/templates/my_template.html에서 다음 코드 줄을 포함할 수 있습니다:
{% load static %} <link rel="stylesheet" type="text/css" href="{% static 'my_style.css' %}">
위 코드 줄을 사용하면 my_style.css 스타일 파일을 정적 템플릿에서 로드할 수 있습니다. 폴더.
Django는 역할 기반 액세스 제어를 쉽게 구현하고 보호된 페이지에 액세스할 때 사용자가 올바르게 인증되는지 확인할 수 있는 사용자 인증 시스템을 제공합니다. 이 기능을 사용하려면 먼저 Django.contrib.auth 모듈에서 다음을 가져와야 합니다:
from django.contrib.auth.decorators import login_required from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
그런 다음 @loginrequired 데코레이터로 보호된 보기를 표시하고 로그인 및 로그아웃에 인증, 로그인 및 로그아웃 기능을 사용할 수 있습니다. 프로세스.
Django에는 테스트 사례를 작성하고 어떤 상황에서도 애플리케이션이 제대로 작동하는지 확인할 수 있는 테스트 프레임워크가 있습니다. 테스트 케이스를 작성하려면 테스트.py 파일을 만들고 Django의 TestCase 클래스를 가져옵니다. 다음은 테스트 사례의 예입니다.
from django.test import TestCase from django.urls import reverse class MyAppTests(TestCase): def test_index(self): response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 200)
위의 예에서는 MyAppTests라는 TestClass를 만들고 테스트 사례 test_index를 추가했습니다. 우리는 Django의 클라이언트 개체를 사용하여 요청을 시뮬레이션하고 HTTP 200 응답 코드가 반환되는지 확인합니다.
요약
Django 프레임워크는 웹 애플리케이션의 신속한 개발을 위한 완전하고 사용하기 쉬운 도구 세트를 제공하는 강력한 웹 개발 프레임워크입니다. 이 기사에서 제공하는 기본 개념과 고급 프로그래밍 기술을 사용하면 Django 웹 애플리케이션을 쉽게 구축하고 Django 사용에 대한 깊은 이해를 얻을 수 있습니다.
위 내용은 Python에서 Django 사용하기: 초보자부터 고급 프로그래밍까지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!