Django는 확장성이 뛰어나고 유연한 오픈 소스 Python 웹 프레임워크입니다. 웹 애플리케이션 개발을 빠르고 효율적으로 만들기 위해 "MVC(Model-View-Controller)" 디자인 패턴을 채택합니다. 이 기사에서는 Django의 기본 지식, Django 가져오기 및 설치, 데이터베이스 생성, 모델 구축 및 뷰 생성에 대한 자세한 소개를 제공하여 초보자가 Django를 마스터하는 데 도움을 줍니다.
1. Django의 기본 지식
Django의 주요 구성 요소에는 URL 스케줄러, 템플릿 엔진, 뷰 및 데이터베이스 액세스 레이어 등이 포함됩니다. Django는 여러 데이터베이스를 지원하고 ORM(Object Relational Mapping) 도구를 사용하여 객체 표현을 제공하고 데이터베이스에 액세스합니다. Apache, Nginx 등과 같은 여러 웹 서버를 동시에 지원합니다. Django는 또한 관리 백엔드, 양식 처리, 국제화, 보안 및 인증 등과 같은 풍부한 기능과 구성 요소를 제공합니다.
2. Django 가져오기 및 설치
Django를 설치하기 전에 Python이 성공적으로 설치되었는지 확인해야 합니다. Django를 설치하는 방법에는 두 가지가 있습니다. 하나는 pip 명령을 사용하는 것이고(권장), 다른 하나는 수동으로 다운로드하여 설치하는 것입니다. pip 설치 방법을 소개합니다.
pip install virtualenv
다음으로, 다음 명령어를 사용하여 새로운 가상 환경을 생성합니다.
virtualenv djangoenv
이 예에서 가상 환경의 이름은 djangoenv입니다.
pip install Django
이 명령은 최신 버전을 자동으로 다운로드하여 가상 환경의 site-packages 디렉터리에 설치합니다.
3. 데이터베이스 만들기
Django는 MySQL, PostgreSQL 등과 같은 여러 데이터베이스 시스템을 지원합니다. 이 기사에서는 기본 SQLite 데이터베이스를 사용합니다. Python을 설치한 후 SQLite가 이미 설치되어 있습니다.
django-admin startproject mysite
이 예에서 프로젝트 이름은 mysite입니다.
cd mysite python manage.py startapp blog
이 명령은 프로젝트의 루트 디렉터리에 blog라는 디렉터리를 생성합니다.
참고: 이 명령은 프로젝트의 루트 디렉터리에서 실행되어야 합니다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
이 설정은 데이터베이스 유형을 SQLite로 설정하고 데이터베이스 파일 이름을 db.sqlite3으로 지정합니다. DATABASES 설정은 MySQL 및 PostgreSQL과 같은 다른 관계형 데이터베이스도 지원합니다.
python manage.py makemigrations python manage.py migrate
이 명령은 데이터베이스 파일을 생성하고 Django에서 사용하는 모든 애플리케이션의 데이터베이스 모델을 관리하는 데 필요한 테이블을 생성합니다.
4. 모델 구성
모델은 데이터를 데이터베이스에 매핑하는 핵심 부분입니다. 모델을 사용하려면 데이터베이스에서 테이블을 정의하는 데 사용할 Python 클래스를 정의해야 합니다. Django의 ORM은 다양한 데이터베이스 유형을 지원하며, 편의상 이 기사에서는 SQLite 데이터베이스를 사용하겠습니다.
from django.db import models class Blog(models.Model): title = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') body = models.TextField() def __str__(self): return self.title
python manage.py makemigrations blog python manage.py migrate
이 명령은 정의된 데이터 모델을 포함할 데이터베이스에 새 테이블을 생성합니다.
5. 뷰 생성
뷰는 사용자가 애플리케이션과 상호작용하는 부분입니다. 뷰는 모델에서 데이터를 가져와 결과를 사용자 브라우저에 렌더링하는 함수 집합입니다. Django에서 모든 뷰는 HTTP 응답 객체를 반환해야 합니다. Django는 일반적으로 사용되는 몇 가지 뷰 유형도 제공합니다.
from django.shortcuts import render from django.http import HttpResponse from .models import Blog def index(request): latest_blog_list = Blog.objects.order_by('-pub_date')[:5] context = {'latest_blog_list': latest_blog_list} return render(request, 'blog/index.html', context) def detail(request, blog_id): blog = Blog.objects.get(pk=blog_id) return render(request, 'blog/detail.html', {'blog': blog})
여기에는 인덱스와 세부정보라는 두 가지 뷰가 정의되어 있습니다. 인덱스 보기는 최신 5개의 블로그 게시물을 가져와서 하나씩 HTML 템플릿으로 렌더링합니다. 세부정보 보기는 블로그 게시물의 세부정보를 가져와 HTML 템플릿으로 렌더링합니다.
index.html
{% if latest_blog_list %} <ul> {% for blog in latest_blog_list %} <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li> {% endfor %} </ul> {% else %} <p>No blogs are available.</p> {% endif %}
detail.html
<h1>{{ blog.title }}</h1> <p>{{ blog.body }}</p> <p>Published on {{ blog.pub_date }}</p>
from django.urls import path from . import views app_name = 'blog' urlpatterns = [ path('', views.index, name='index'), path('<int:blog_id>/', views.detail, name='detail'), ]
在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“283b0284c70ce5b35f6a4cddbe3f14e7/”定义了一个变量blog_id,并将其传递给detail视图函数。
六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。
python manage.py runserver
如果一切正常,您将看到以下输出。
Performing system checks... System check identified no issues (0 silenced). September 18, 2021 - 18:13:35 Django version 3.2, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。
七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在Web开发的繁荣时代,Django无疑是一个强大的工具。
위 내용은 Django 시작하기: 절차적 Python 웹 프레임워크 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!