Django 기초 이해

王林
풀어 주다: 2024-07-26 11:15:21
원래의
423명이 탐색했습니다.

Understanding Django Fundamentals

이전 블로그에서는 개발 환경을 설정하고 기본적인 Django 프로젝트와 앱을 만들어봤습니다. 이제 프로젝트 구조, MVT(Model-View-Template) 아키텍처 및 Django 관리 인터페이스를 포함하여 Django의 기본 측면에 대해 더 깊이 알아볼 시간입니다. 이 게시물을 마치면 이러한 개념을 확실하게 이해하고 간단한 블로그 애플리케이션을 만들 준비를 갖추게 됩니다.

개요

이 블로그에서는 프로젝트 구조, MVT 아키텍처, Django 관리 인터페이스 등 Django의 기본 측면을 자세히 살펴보겠습니다.

다루는 주제

  • Django 프로젝트 구조
  • 모델, 뷰 및 템플릿(MVT)
  • 장고 관리자

목표

  • MVT 아키텍처 이해
  • Django에서 모델, 뷰, 템플릿 만들기
  • Django 관리 인터페이스 사용

Django 프로젝트 구조

Django의 프로젝트 구조를 이해하는 것은 코드를 효과적으로 탐색하고 구성하는 데 중요합니다. 새로운 Django 프로젝트와 앱을 생성하면 다음 디렉터리 구조가 생성됩니다.

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
        asgi.py
    blog/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
        migrations/

로그인 후 복사
  • manage.py: Django 프로젝트 관리에 도움이 되는 명령줄 유틸리티입니다.
  • myproject/: 설정 및 구성이 포함된 기본 프로젝트 디렉터리입니다.
  • settings.py: 프로젝트에 대한 구성 설정입니다.
  • urls.py: 프로젝트에 대한 URL 선언.
  • wsgi.py 및 asgi.py: WSGI/ASGI 호환 웹 서버의 진입점.
  • blog/: 애플리케이션별 파일이 포함된 Django 앱 디렉토리.

모델, 뷰 및 템플릿(MVT)

Django는 MVC 패턴의 변형인 MVT(Model-View-Template) 아키텍처를 따릅니다. 이 아키텍처는 문제를 깔끔하게 분리하여 코드를 더욱 체계화하고 유지 관리하기 쉽게 만듭니다.

모델

모델은 데이터베이스 테이블의 구조를 정의합니다. 각 모델은 django.db.models.Model을 서브클래스하는 Python 클래스입니다.

# blog/models.py

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

로그인 후 복사

조회수

뷰는 애플리케이션의 논리와 데이터 처리를 처리합니다. 요청을 받고, 모델과 상호 작용하고, 응답을 반환합니다.

# blog/views.py

from django.shortcuts import render
from .models import Post

def home(request):
    posts = Post.objects.all()
    return render(request, 'blog/home.html', {'posts': posts})

로그인 후 복사

템플릿

템플릿은 웹페이지의 HTML 구조와 표시를 정의합니다. Django 템플릿 태그와 필터를 사용하여 동적 콘텐츠를 포함할 수 있습니다.

<!-- blog/templates/blog/home.html -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.content }}</p>
        <p>Published on: {{ post.published_date }}</p>
    {% endfor %}
</body>
</html>

로그인 후 복사

URL 구성

URL을 뷰에 매핑하려면 urls.py에서 URL 패턴을 구성해야 합니다.

# myproject/urls.py

from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
]

로그인 후 복사

장고 관리자

Django 관리 인터페이스는 추가 코드를 작성하지 않고도 애플리케이션의 데이터를 관리할 수 있는 강력한 도구입니다. 모델에 대한 사용자 친화적인 인터페이스를 자동으로 생성합니다.

Django 관리자 설정

  • 모델 등록: 모델을 관리 사이트에 등록하면 관리 인터페이스에서 사용할 수 있습니다.
# blog/admin.py

from django.contrib import admin
from .models import Post

admin.site.register(Post)

로그인 후 복사
  • 슈퍼유저 생성: 관리 인터페이스에 액세스하려면 슈퍼유저를 생성하세요.
python manage.py createsuperuser

로그인 후 복사
  • 관리 인터페이스 액세스: 개발 서버를 시작하고 http://127.0.0.1:8000/admin/으로 이동합니다. 데이터를 관리하려면 슈퍼유저 자격 증명으로 로그인하세요.

결론

Django에서 애플리케이션을 작성하는 과정에 대한 개요입니다. 간단한 블로그 애플리케이션을 만들기 위해 배운 내용을 적용할 시리즈의 다음 부분을 계속 지켜봐 주시기 바랍니다.

위 내용은 Django 기초 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!