"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Django 기초 이해

Django 기초 이해

2024-07-31에 게시됨
검색:651

Understanding Django Fundamentals

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

개요

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

항목은 다룹니다

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

목표

  • 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 Home


    

Blog Posts

{% for post in posts %}

{{ post.title }}

{{ post.content }}

Published on: {{ post.published_date }}

{% endfor %}

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

릴리스 선언문 이 글은 https://dev.to/kihuni/understanding-django-fundamentals-27h0?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3