>  기사  >  백엔드 개발  >  Django 시작하기: 절차적 Python 웹 프레임워크 튜토리얼

Django 시작하기: 절차적 Python 웹 프레임워크 튜토리얼

WBOY
WBOY원래의
2023-06-22 10:06:40817검색

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 설치 방법을 소개합니다.

  1. 가상 환경 만들기
    가상 환경은 다양한 프로젝트의 다양한 종속 라이브러리를 관리하는 데 도움이 될 수 있습니다. 먼저 virtualenv라는 모듈을 설치해야 합니다. 설치하려면 명령줄에 다음 명령을 입력하세요(pip가 설치된 경우).
pip install virtualenv

다음으로, 다음 명령어를 사용하여 새로운 가상 환경을 생성합니다.

virtualenv djangoenv

이 예에서 가상 환경의 이름은 djangoenv입니다.

  1. Django 설치
    가상 환경에서 다음 명령어를 사용하여 Django를 설치하세요.
pip install Django

이 명령은 최신 버전을 자동으로 다운로드하여 가상 환경의 site-packages 디렉터리에 설치합니다.

3. 데이터베이스 만들기
Django는 MySQL, PostgreSQL 등과 같은 여러 데이터베이스 시스템을 지원합니다. 이 기사에서는 기본 SQLite 데이터베이스를 사용합니다. Python을 설치한 후 SQLite가 이미 설치되어 있습니다.

  1. 프로젝트 만들기
    다음 명령을 사용하여 새 Django 프로젝트를 만듭니다.
django-admin startproject mysite

이 예에서 프로젝트 이름은 mysite입니다.

  1. 애플리케이션 만들기
    Django 애플리케이션은 모델, 뷰, 템플릿으로 구성됩니다. 여기서는 blog라는 애플리케이션을 생성하겠습니다.
cd mysite
python manage.py startapp blog

이 명령은 프로젝트의 루트 디렉터리에 blog라는 디렉터리를 생성합니다.
참고: 이 명령은 프로젝트의 루트 디렉터리에서 실행되어야 합니다.

  1. 데이터베이스 구성
    mysite/settings.py 파일을 열고 DATABASES를 다음과 같이 설정합니다.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

이 설정은 데이터베이스 유형을 SQLite로 설정하고 데이터베이스 파일 이름을 db.sqlite3으로 지정합니다. DATABASES 설정은 MySQL 및 PostgreSQL과 같은 다른 관계형 데이터베이스도 지원합니다.

  1. Run Migrations
    Django는 마이그레이션을 사용하여 데이터 모델과 데이터베이스의 동기화를 관리합니다. 다음 명령을 사용하여 초기 마이그레이션을 실행합니다.
python manage.py makemigrations
python manage.py migrate

이 명령은 데이터베이스 파일을 생성하고 Django에서 사용하는 모든 애플리케이션의 데이터베이스 모델을 관리하는 데 필요한 테이블을 생성합니다.

4. 모델 구성
모델은 데이터를 데이터베이스에 매핑하는 핵심 부분입니다. 모델을 사용하려면 데이터베이스에서 테이블을 정의하는 데 사용할 Python 클래스를 정의해야 합니다. Django의 ORM은 다양한 데이터베이스 유형을 지원하며, 편의상 이 기사에서는 SQLite 데이터베이스를 사용하겠습니다.

  1. 모델 만들기
    Python 클래스를 만들고 해당 속성을 정의합니다. 이 클래스는 애플리케이션의 데이터 모델 역할을 합니다.
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
  1. 모델 마이그레이션
    모델을 생성한 후 다음 명령을 실행하여 모델을 데이터베이스로 마이그레이션해야 합니다.
python manage.py makemigrations blog
python manage.py migrate

이 명령은 정의된 데이터 모델을 포함할 데이터베이스에 새 테이블을 생성합니다.

5. 뷰 생성
뷰는 사용자가 애플리케이션과 상호작용하는 부분입니다. 뷰는 모델에서 데이터를 가져와 결과를 사용자 브라우저에 렌더링하는 함수 집합입니다. Django에서 모든 뷰는 HTTP 응답 객체를 반환해야 합니다. Django는 일반적으로 사용되는 몇 가지 뷰 유형도 제공합니다.

  1. Create Views
    blog/views.py 파일에 다음 뷰를 생성하세요.
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 템플릿으로 렌더링합니다.

  1. Creating Templates
    우리가 정의한 뷰에서는 index.html과detail.html이라는 두 개의 HTML 템플릿을 사용했습니다. 블로그 애플리케이션의 루트 디렉터리에 "templates"라는 디렉터리를 만들고, 템플릿 디렉터리 아래에 "blog"라는 디렉터리를 만듭니다. 블로그 디렉토리에 "index.html" 및 "detail.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>
  1. 创建URL
    最后,我们要将视图与URL相关联。在blog应用程序的根目录下创建一个名为“urls.py”的文件,并添加以下内容。
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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