찾다
백엔드 개발파이썬 튜토리얼TMS 프로젝트를 위한 Bulletproof Django API

Bulletproof Django API for a TMS project

소개

이 튜토리얼에서는 Django 및 DRF(Django REST Framework)를 사용하여 기본 웹 애플리케이션을 구축하는 과정을 안내합니다. 애플리케이션은 REST API를 통해 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 활성화하여 도서 컬렉션을 관리합니다.

전제조건

  • Python 3.8 이상.
  • Python 및 Django에 대한 기초 지식
  • pip(Python 패키지 설치 프로그램).
  • 가상 환경 설정에 대한 지식(예: venv).

1단계: 환경 설정

권장 VM 구성:

  • RAM: 8GB
  • 프로세서: 4코어(8스레드)
  • 저장용량: 100GB
  • 네트워크: 브리지 네트워킹(고유 IP의 경우) 또는 NAT(호스트를 통한 인터넷 액세스의 경우)

VM 설정:

  1. 신뢰할 수 있는 소스(예: 공식 Ubuntu 사이트)에서 ubuntu-22.04-server-cloudimg-amd64.ova 이미지를 다운로드하세요.
  2. VMware Workstation, Fusion 또는 ESXi를 열고 OVA 파일을 가져옵니다. 화면의 지시를 따르세요.
  3. VM 이름을 지정합니다(예: TMS_VM).
  4. 위 권장 사항에 따라 VM의 메모리, 프로세서, 하드 디스크 및 네트워크 설정을 구성합니다.

Ubuntu 22.04 서버 구성:

  1. VM을 시작합니다.

  2. 로그인 및 시스템 업데이트: sudo apt update && sudo apt upgrade -y

  3. 필수 도구 설치: sudo apt install git python3 python3.10-venv python3-pip python3-venv git build-essential -y

  4. 사용자 생성: 다음 명령은 적절한 권한을 가진 django이라는 사용자를 생성합니다. "your_email@example.com"을 실제 이메일 주소로 바꾸세요.

    sudo groupadd bulletproof
    sudo adduser django
    sudo usermod -aG bulletproof django
  5. 프로젝트 디렉토리 생성: mkdir /home/django/projects

  6. 그룹 소유권 및 권한 조정:

    sudo chown :bulletproof /home/django/projects
    sudo chmod 775 /home/django/projects
    sudo usermod -d /home/django/projects django
    sudo chown django:bulletproof /home/django/projects
    su - django

VS 코드 설정(원격-SSH):

VS Code에 Python, Pylance, Flake8, Black 및 Django 확장을 설치합니다. pip를 사용하여 Flake8 및 Black도 VM에 설치되어 있는지 확인하세요. 가상 환경의 Python 인터프리터를 사용하고 Linting 및 서식 지정을 활성화하도록 VS Code를 구성합니다. 구성을 위한 pyproject.toml.flake8 파일을 만듭니다(원본 문서의 예 참조).

Python 설정:

  1. 가상 환경 만들기:

    mkdir tms && cd tms
    python3 -m venv .venv
    source .venv/bin/activate  # (env\Scripts\activate on Windows)
  2. Django 및 DRF 설치: pip install django djangorestframework

  3. Django 프로젝트 만들기: django-admin startproject tms .

  4. 개발 서버 실행: python manage.py runserver 0.0.0.0:8000

    DisallowedHost 오류가 발생하면 서버의 IP 주소를 ALLOWED_HOSTSsettings.py에 추가하세요.

Git 저장소 설정:

  1. README.md, requirements.txt(pip freeze > requirements.txt 사용), LICENSE.gitignore 파일을 만듭니다.
  2. SSH 키 생성: ssh-keygen -t ed25519 -C "your_email@example.com". GitHub 계정에 공개 키를 추가하세요.
  3. Git 저장소 초기화: git init
  4. 원격 저장소 추가: git remote add origin git@github.com:username/repository.git
  5. 변경 사항 커밋 및 푸시: git add ., git commit -m "Initial commit", git push -u origin main

VM 스냅샷:

VMware의 스냅샷 기능을 사용하여 초기 설정 후 VM의 스냅샷을 생성하세요. "InitialSetup"과 같이 설명적인 이름을 지정하십시오.

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

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
배열이 숫자 데이터를 저장하는 목록보다 일반적으로 더 메모리 효율적인 이유는 무엇입니까?배열이 숫자 데이터를 저장하는 목록보다 일반적으로 더 메모리 효율적인 이유는 무엇입니까?May 05, 2025 am 12:15 AM

ArraysareGenerallyMorememory- 효율적 인 thanlistsortingnumericaldataduetotheirfixed-sizenatureanddirectmemoryAccess.1) ArraysStoreElementsInacontiguousBlock, retoneverHead-fompointerSormetAdata.2) 목록, 종종 implementededymamamicArraysorlinkedStruct

파이썬 목록을 파이썬 어레이로 어떻게 변환 할 수 있습니까?파이썬 목록을 파이썬 어레이로 어떻게 변환 할 수 있습니까?May 05, 2025 am 12:10 AM

ToconvertapyThonlisttoAnarray, usethearraymodule : 1) importThearrayModule, 2) CreateAlist, 3) Usearray (typecode, list) toconvertit, thetypecodelike'i'forintegers

동일한 Python 목록에 다른 데이터 유형을 저장할 수 있습니까? 예를 들어보세요.동일한 Python 목록에 다른 데이터 유형을 저장할 수 있습니까? 예를 들어보세요.May 05, 2025 am 12:10 AM

Python 목록은 다양한 유형의 데이터를 저장할 수 있습니다. 예제 목록에는 정수, 문자열, 부동 소수점 번호, 부울, 중첩 목록 및 사전이 포함되어 있습니다. 목록 유연성은 데이터 처리 및 프로토 타이핑에서 가치가 있지만 코드의 가독성과 유지 관리를 보장하기 위해주의해서 사용해야합니다.

파이썬의 배열과 목록의 차이점은 무엇입니까?파이썬의 배열과 목록의 차이점은 무엇입니까?May 05, 2025 am 12:06 AM

PythondoesnothaveBuilt-inarrays; Usethearraymoduleformory- 효율적인 호모 유전자 도자기, whilistsareversartileformixedDatatypes.arraysareefficiTiveDatasetsophesAty, whereferfiblityAndareAsiErtouseFormixOrdorSmallerSmallerSmallerSMATASETS.

파이썬에서 배열을 만드는 데 일반적으로 사용되는 모듈은 무엇입니까?파이썬에서 배열을 만드는 데 일반적으로 사용되는 모듈은 무엇입니까?May 05, 2025 am 12:02 AM

themoscommonLyusedModuleForraySinisThonisNumpy.1) NumpyProvideseficileditionToolsForArrayOperations, IdealFornumericalData.2) ArrayscanBecreatedUsingnp.array () for1dand2dsuctures.3) Numpyexcelsinlement-wiseOperations Numpyexcelscelslikemea

Python 목록에 요소를 어떻게 추가합니까?Python 목록에 요소를 어떻게 추가합니까?May 04, 2025 am 12:17 AM

toAppendElementStoapyThonList, usetHeappend () MethodForsingleElements, extend () formultipleements, andinsert () forspecificpositions.1) useappend () foraddingOneElementatateend.2) usextend () toaddmultipleementsefficially

파이썬 목록을 어떻게 만드나요? 예를 들어보세요.파이썬 목록을 어떻게 만드나요? 예를 들어보세요.May 04, 2025 am 12:16 AM

To TeCreateAtheThonList, usequareBrackets [] andseparateItemswithCommas.1) ListSaredynamicandCanholdMixedDatAtatypes.2) useappend (), remove () 및 SlicingFormAnipulation.3) listlisteforences;) ORSL

수치 데이터의 효율적인 저장 및 처리가 중요한 경우 실제 사용 사례에 대해 토론하십시오.수치 데이터의 효율적인 저장 및 처리가 중요한 경우 실제 사용 사례에 대해 토론하십시오.May 04, 2025 am 12:11 AM

금융, 과학 연구, 의료 및 AI 분야에서 수치 데이터를 효율적으로 저장하고 처리하는 것이 중요합니다. 1) 금융에서 메모리 매핑 파일과 Numpy 라이브러리를 사용하면 데이터 처리 속도가 크게 향상 될 수 있습니다. 2) 과학 연구 분야에서 HDF5 파일은 데이터 저장 및 검색에 최적화됩니다. 3) 의료에서 ​​인덱싱 및 파티셔닝과 같은 데이터베이스 최적화 기술은 데이터 쿼리 성능을 향상시킵니다. 4) AI에서 데이터 샤딩 및 분산 교육은 모델 교육을 가속화합니다. 올바른 도구와 기술을 선택하고 스토리지 및 처리 속도 간의 트레이드 오프를 측정함으로써 시스템 성능 및 확장 성을 크게 향상시킬 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.