Django는 MVC 디자인 패턴을 따르는 Python 웹 개발 프레임워크인데, Django에서는 보통 MTV(model-template-views)라고 부릅니다. 모델은 주로 엔터티 매핑, 엔터티 관계 및 일부 엔터티 방법을 저장하는 데이터 지속성 계층입니다. 템플릿은 주로 데이터를 표시하는 데 사용되는 프리젠테이션 레이어입니다. Django의 뷰 엔진은 이를 HTML로 렌더링하여 표시할 수 있습니다. 뷰는 Django에서 모델과 템플릿 사이의 브리지 역할을 하는 비즈니스 논리 계층입니다. 또한 모델을 처리하고 템플릿에 데이터를 제출하며, 해당 논리를 완료한 후 모델 수정 사항을 제출합니다.
개인적으로 여기서 MTV와 .NET MVC는 같은 의미를 표현한다고 생각합니다. 가장 큰 차이점은 공식 문서에 따르면 .net 뷰에서는 프레젠테이션 레이어인 반면 Django에서는 비즈니스 로직 레이어라는 것입니다. , 이는 뷰에 대한 이해가 다르다는 것을 의미할 뿐입니다. 실제로는 컨트롤러로 사용할 수 있습니다. 아래에서는 개인적인 이해를 바탕으로 Django의 구문과 기능을 소개하겠습니다.
1. 뷰 및 URL
Django에서 뷰는 일반적으로 해당 패키지에 배치되는 views.py 모듈입니다. Views.py에는 특정 논리 함수가 포함되어 있습니다. 각 함수는 하나 이상의 템플릿에 해당합니다. 템플릿과 뷰 간의 연결을 설정하려면 특정 라우팅 메커니즘이 필요하므로 Django는 일반적으로 루트 디렉터리에 라우팅 프로그램 urls.py를 가지고 있습니다. . 경로는 패턴으로 생성되고 정규식으로 설명되므로 라우팅 메커니즘의 유연성이 크게 향상됩니다.
예:
views.py
def home(request): values = request.META.items() values.sort() return render_to_response('home.html',{"values":values}) urls.py from django.conf.urls.defaults import * urlpatterns = patterns('',('^$',home),)
여기에서 요청하세요. 매개변수는 필수이지만, 요청에 해당 페이지의 요청 정보가 포함되어 있다면 임의로 이름을 지정할 수 있습니다. sender_to_response는 django.shortcuts에 있으므로 앞에 django.shortcuts import sender_to_response 형식을 선언해야 합니다. request.MATE에는 모든 요청 인터페이스 정보와 사용자 정보가 포함되어 있습니다. shor()는 목록을 작은 것부터 큰 것 순으로 정렬합니다. 반환 값은 home.html 템플릿에 값 변수를 제출하는 것을 의미합니다. URL 패턴의 튜플은 일반 지침 규칙을 추가합니다. 원래 주소가 '^$'와 일치하는 튜플을 제외하면 집으로 연결됩니다. 물론 이는 views.py 파일과 urls.py가 동일한 폴더에 있다는 것을 전제로 하며, 그렇지 않으면 home 네임스페이스를 참조해야 합니다. URL에 여러 값을 전달하려는 경우 ('^([^/]+)/([^/]+) /$'와 같이 전달하려는 일치 값에 대괄호를 추가하면 됩니다. home)을 /some/some/과 일치시키고 일부는 처리 기능 home으로 전달됩니다. 해당 주택은 수락할 적절한 매개변수를 추가해야 합니다.
2. 템플릿
템플릿은 Django에서 데이터가 표시되는 곳으로, 일반적으로 HTML 형식으로 템플릿에 Django의 처리 로직을 {% %}로 작성해야 하며, 변수는 다음과 같습니다. 표시하려면 {{ }}로 작성해야 합니다. Django의 마스터 페이지는 어떤 문서로도 사용될 수 있습니다. 전제는 블록이 채워지거나 교체되도록 선언하려면 {% 블록 이름 %}{% endblock %}을 사용해야 한다는 것입니다. name%} 그런 다음 해당 블록을 호출하면 됩니다.
3. 모델
setting.py의 데이터베이스 사전에서 데이터베이스를 구성합니다. 구성이 완료되면manage.py startapp을 사용하여 앱을 생성하고 모델에 Python 코드를 작성하여 엔터티 매핑을 설명합니다. 예:
models.py
class Publisher(models.Model): name = models.CharField(max_length = 30) website = models.URLField() def __unicode__(self): return self.name class Meta: ordering = ['name']
models는 django.db에 포함되어 있으며, 이는 django.db의 공통 기능을 캡슐화합니다. 모델 클래스 인터페이스. CharField()는 max_length, 공백, verbose_name 등과 같은 매개변수를 사용하여 varchar 유형 데이터를 생성합니다. 최대 길이, 비어 있는지 여부 및 표시 이름을 각각 나타냅니다. def__unicode__는 박싱 후 기본 표시를 제공합니다. 이 기능이 설정되지 않으면 기본적으로 개체 유형이 표시됩니다. Meta 클래스는 모델의 기본 정렬 필드를 지정합니다. 동시에 Django는 외래 키 설정 인터페이스도 제공합니다.
class Book(models.Model): title = models.CharField(max_length = 100) authors = models.ManyToManyField(Author) #多对多关系 publisher = models.ForeignKey(Publisher) #多对一关系 publication_date = models.DateField(blank = True, null = True)
생성 후 설정에 앱을 추가하세요. .py 구성 파일 INSTALL_APPS 패키지 경로입니다.
Django는 codefirst를 지원합니다. 데이터베이스를 업데이트할 때 Django는 먼저 sql 문을 생성한 후 이를 실행한 후 실행하여 확인할 수 있습니다. 모델을 실행하거나 py sqlall books를 실행할 수 있습니다. 데이터 삽입을 구현하기 위해 모델 객체를 직접 선언할 수 있으며, save()를 사용하여 저장하고 객체에 대해 delete()를 호출하여 삭제할 수 있으며, 모델에 대해 delete()를 호출하여 삭제할 수도 있습니다. 일괄적으로. 같은 방식으로 업데이트는 객체에 대한 단일 수정과 모델에 대한 일괄 수정을 호출합니다.
4. 통합 하위 프레임워크
django.contrib 패키지에는 현재 admin과 auth에 대해서만 알고 있는 다양한 추가 기능 패키지가 있습니다. 단점은 인터페이스가 약간 추악하다는 것입니다. Admin은 Django에서 공식적으로 제공하는 백엔드 관리 플랫폼입니다. 추가한 앱을 관리할 수 있으며 추가, 삭제, 수정, 확인 등 일반적인 기능을 모두 통합합니다. 호출 코드도 매우 간단합니다. urls.py에서 관리 링크를 활성화하기만 하면 됩니다. 필요한 경우 구성 파일을 직접 변경할 수 있습니다. 앱 관리를 추가하려면 다음 코드를 추가해야 합니다(예: Book 사용):
class BookAdmin(admin.ModelAdmin): list_display = ('title', 'publisher', 'publication_date') #显示顺序 list_filter = ('publication_date',) #过滤列表 ate_hierarchy = 'publication_date' #激活列表上方的日期查询 ordering = ('-publication_date',) #排序方式'-'代表倒序 filter_horizontal = ('authors',) #添加时候的横向选择过滤(此处假设book和authors 是多对多关系) raw_id_fields = ('publisher',) #添加时候的选择(此处假设publisher和book是一对多关系) admin.site.register(Publisher) admin.site.register(Author,AuthorAdmin) admin.site.register(Book,BookAdmin)
5 . 캐싱 메커니즘
개인적으로 Django에서 제공하는 캐싱 방식은 크게 3가지로 나누어집니다. 전체 사이트 캐시 구성 방식입니다. , 캐시 구성 방법 및 대상 캐시 구성 방법을 확인하세요. 관련 구성 파일을 수정하면 됩니다. 캐싱을 지원하기 위해 memcached와 같은 다른 플러그인을 설치할 수도 있습니다.

이 기사에서는 HTML을 구문 분석하기 위해 파이썬 라이브러리 인 아름다운 수프를 사용하는 방법을 설명합니다. 데이터 추출, 다양한 HTML 구조 및 오류 처리 및 대안 (SEL과 같은 Find (), find_all (), select () 및 get_text ()와 같은 일반적인 방법을 자세히 설명합니다.

Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Python의 통계 모듈은 강력한 데이터 통계 분석 기능을 제공하여 생물 통계 및 비즈니스 분석과 같은 데이터의 전반적인 특성을 빠르게 이해할 수 있도록 도와줍니다. 데이터 포인트를 하나씩 보는 대신 평균 또는 분산과 같은 통계를보고 무시할 수있는 원래 데이터에서 트렌드와 기능을 발견하고 대형 데이터 세트를보다 쉽고 효과적으로 비교하십시오. 이 튜토리얼은 평균을 계산하고 데이터 세트의 분산 정도를 측정하는 방법을 설명합니다. 달리 명시되지 않는 한,이 모듈의 모든 함수는 단순히 평균을 합산하는 대신 평균 () 함수의 계산을 지원합니다. 부동 소수점 번호도 사용할 수 있습니다. 무작위로 가져옵니다 수입 통계 Fracti에서

파이썬 객체의 직렬화 및 사막화는 사소한 프로그램의 주요 측면입니다. 무언가를 Python 파일에 저장하면 구성 파일을 읽거나 HTTP 요청에 응답하는 경우 객체 직렬화 및 사태화를 수행합니다. 어떤 의미에서, 직렬화와 사제화는 세계에서 가장 지루한 것들입니다. 이 모든 형식과 프로토콜에 대해 누가 걱정합니까? 일부 파이썬 객체를 지속하거나 스트리밍하여 나중에 완전히 검색하려고합니다. 이것은 세상을 개념적 차원에서 볼 수있는 좋은 방법입니다. 그러나 실제 수준에서 선택한 직렬화 체계, 형식 또는 프로토콜은 속도, 보안, 유지 보수 상태 및 프로그램의 기타 측면을 결정할 수 있습니다.

이 기사는 딥 러닝을 위해 텐서 플로와 Pytorch를 비교합니다. 데이터 준비, 모델 구축, 교육, 평가 및 배포와 관련된 단계에 대해 자세히 설명합니다. 프레임 워크, 특히 계산 포도와 관련하여 주요 차이점

이 튜토리얼은 간단한 나무 탐색을 넘어서 DOM 조작에 중점을 둔 아름다운 수프에 대한 이전 소개를 바탕으로합니다. HTML 구조를 수정하기위한 효율적인 검색 방법과 기술을 탐색하겠습니다. 일반적인 DOM 검색 방법 중 하나는 EX입니다

이 기사는 Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask 및 요청과 같은 인기있는 Python 라이브러리에 대해 설명하고 과학 컴퓨팅, 데이터 분석, 시각화, 기계 학습, 웹 개발 및 H에서의 사용에 대해 자세히 설명합니다.

이 기사는 Python 개발자가 CLIS (Command-Line Interfaces) 구축을 안내합니다. Typer, Click 및 Argparse와 같은 라이브러리를 사용하여 입력/출력 처리를 강조하고 CLI 유용성을 향상시키기 위해 사용자 친화적 인 디자인 패턴을 홍보하는 세부 정보.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

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

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