>  기사  >  백엔드 개발  >  Django는 모두를 위한 것입니다.

Django는 모두를 위한 것입니다.

PHPz
PHPz원래의
2024-08-28 22:31:03861검색

Django is for everyone.

Django는 "작은" 웹사이트에도 적합합니다.

사람들은 구식의 산업 강력한 모놀리스 앱을 구축하거나 API를 구축하고 프런트엔드에 React와 같은 것을 사용하기 위해 Django를 고려하는 경향이 있다고 생각합니다. 저는 평범하고 오래된 Django가 개인 웹사이트에도 훌륭한 옵션이라는 것을 말씀드리고자 왔습니다! 제 생각에는 데이터베이스가 필요하다면 Django1를 사용하는 것이 좋습니다.

왜 장고인가?

Django는 "배터리 포함" 프레임워크로 간주되며 이러한 배터리는 정말 훌륭합니다. 이것이 제가 다른 프레임워크보다 Django를 계속 사용하게 만드는 이유입니다.

ORM(객체 관계형 매퍼)

Django ORM은 프레임워크를 사용하는 큰 이유입니다. 모든 웹 프레임워크에 ORM이 포함되어 있지는 않다는 사실에 놀랐습니다. 처음부터 SQL을 작성하는 것을 좋아하는 사람이 아니라면 이것이 앱을 구축하는 올바른 방법입니다. 모델을 정의하고 해당 모델에서 데이터베이스 마이그레이션을 생성하고(대부분 자동으로) 데이터베이스에서 마이그레이션을 실행하면 모든 준비가 완료됩니다! 어설픈 모델을 작성하지 않고 스키마를 추정할 수 있는 일련의 마이그레이션을 수행합니다2. 모든 데이터에 대해 필요한 정보는 models.py 파일에 있으며 모든 것이 여기에서 흘러나옵니다.

관리자

이게 가장 큰 문제입니다. CMS가 아닙니다. ORM을 위한 GUI에 가깝습니다. 모델을 정의한 후에는 매우 적은 구성으로 CRUD 코드를 작성하지 않고도 해당 데이터를 관리할 수 있습니다. 이는 애플리케이션의 프런트 엔드가 아닙니다. (아마도) 최종 사용자를 위한 CMS는 아닙니다. 관리자가 사이트를 쉽게 변경할 수 있는 방법입니다.

점진적인 향상

이것은 내 마음에 매우 가깝고 소중하지만 나머지 업계 대부분은 잊어버린 것 같습니다. 간단히 말해서; JavaScript가 실패하더라도 기본 수준 기능은 가능해야 합니다. 앱은 프런트엔드 스크립팅 없이도 최소한 작동할 수 있어야 합니다. SPA로 그렇게 하는 것은 악몽이다. 실제 백엔드 프레임워크와 htmx 또는 Unpoly와 같은 도구를 사용하여 수행하는 것은 쉽지 않습니다. 현상유지에서 상식으로 관점을 바꾸면 됩니다.

명심해야 할 개념

MTV

기존 애플리케이션 프레임워크는 모델, 뷰, 컨트롤러 디자인 패턴을 사용하는 반면, Django는 요소의 이름을 약간 다르게 지정합니다.

  • 모델
    • 네, 이것도 똑같습니다.
  • 템플릿
    • 기존 보기와 동일합니다.
  • 보기
    • 이것은 기존의 컨트롤러와 대부분 동일합니다.

데이터베이스 마이그레이션

이 문제는 Django에서 해결되었습니다. 정말 좋아요! 이에 대해 알아야 할 사항이 더 많이 있으며 생성된 마이그레이션 파일을 실행하기 전에 살펴보아야 합니다.그리고 이 작업을 더 수동으로 수행해야 할 때가 있습니다. 이것이 사용의 핵심입니다:

./manage.py makemigrations
# It tells you what it did.

./manage.py migrate
# Database updated!

그렇습니다! ?

시작하는 방법

블레이즈.말

여기서 나만의 작은 프로젝트를 진행할 수 있습니다. 이 글을 읽고 있는 1인 개발자 여러분에게 좋은 소식은 비상업적 용도로는 무료라는 것입니다. 최종적으로 이를 사용하여 상업용 애플리케이션을 구축하는 데 도움이 되었다면 1회 $100 USD만 지불하면 됩니다. 어서, 꽤 가치가 있군요!

키트 전체를 사용하지 않더라도 코드에서 제가 사용하는 기술을 살펴보시기 바랍니다. Django를 거의 처음부터 사용해 본 결과 이는 어렵게 얻은 것입니다. Docker 및 Postgres와 함께 사용하는 단계를 거쳤지만 이것이 Django를 사용해 보고 싶어하는 99%의 사람들에게 이 방법이라고 믿습니다. SQLite는 정말 놀랍습니다.

전개

안타깝게도 이는 개인 웹사이트를 대상으로 하는 다른 옵션보다 Django를 선택할 때의 주요 단점입니다. Blaze.horse를 사용하여 쉽게 설정할 수 있도록 노력했지만 여전히 예상보다 까다롭습니다. Button, Appliku 등 나에게 희망을 주는 다가오는 프로젝트가 있지만 개인적으로 현재로서는 Fly에 만족합니다.

다음 단계

이 글을 읽고 나면 다음에 무언가를 빌드해야 할 때 Django를 염두에 두시기 바랍니다. 도움이 필요하면 알려주세요!


  1. CMS가 필요하다면 Kirby를 사용하세요. CMS가 필요한 경우 확실히 정적 사이트 생성기를 사용해서는 안 됩니다. FFS ↩

  2. 라라벨 ↩

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

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