Angular를 사용하는 모범 사례는 무엇입니까?JS(장고 포함
Angular와 함께 프로젝트를 시작하려고 합니다.클라이언트 측에서는 JS, 서버 측에서는 Django.
베스트 프렌드처럼 기능하기 위한 베스트 프랙티스(스태틱 파일, 인증, 도입 등)는 무엇입니까?
클라이언트 측 템플릿을 Django 템플릿에서 전원을 공급하여 흥미로운 최적화를 할 수 있습니다.다만, Django와 Angular의 유사점을 고려하면JS의 템플릿 언어에는 거의 신경 쓸 필요가 없습니다.Angular의 정전기 서빙을 페어링하겠습니다.이러한 종류의 대부분의 프로젝트에서 JS는 Django REST Framework를 사용합니다.
나의urls.py
조작 순서는 거의 항상 Django REST Framework URL(가능한 한 엄격하게 작성), 그 다음에 다른 모든 것을 내 베이스 Angular를 가리키는 범용 패턴입니다.JS 어플리케이션템플릿의STATIC_ROOT
로컬 테스트/개발 시나리오의 경우 dir:
if settings.DEBUG:
urlpatterns += patterns('django.contrib.staticfiles.views',
url(r'', 'serve', {
'document_root': settings.STATIC_ROOT,
'path': '/base.html'}
),
)
일치하지 않는 모든 요청을 동일한 앱/템플릿에 포인팅함으로써 해시태그보다 URL 및 라우팅 이력 해킹 방식을 사용할 수 있습니다.해시태그만을 고집할 계획이라면 최종 URL 매칭이 더 엄격해질 수 있습니다(예: 매칭)./
(URL 루트) 포함r'^$'
).
프로덕션에서는 REST 서비스 요청을 Django WSGI 앱에 프록시하여 AngularJS(스태틱) 콘텐츠를 처리하기 위해 역방향 프록시 또는 nginx와 같은 저속 클라이언트 HTTP 서버를 사용합니다.
Django REST Framework와 통신하기 위해, 나는 Angular에서 데이터를 정렬하기 위해 클래스 같은 JS 객체를 갖는 것을 선호합니다.JS 앱과 장고 REST 프레임워크.이를 위해 REST Framework 뷰에서 노출하는 Django 모델 클래스를 나타내는 클래스를 생성하기 위해 angular-django-rest 리소스를 사용합니다.
angular-django-rest-resource에서 리소스를 생성할 수 있는 쿼리의 유연성을 최대한 높이기 위해 여기에 설명된 대로 REST Framework용 django-filter 백엔드를 설치합니다.이를 통해 JS 리소스는 파라미터에 의해 제약된 Django 객체를 요구할 수 있습니다(예:/polls/?author=345&finished=1
를 참조해 주세요.
Django 및 REST 작업을 Angular에서 다른 서버 도메인에 도입하는 경우JS 기본 템플릿이 제공됩니다(예를 들어 HTML에 대해 다른 인터넷 도메인에서 타사 CDN을 사용하는 경우). 이러한 리소스에 대한 교차 도메인 요청을 허용하는 것이 중요합니다.장고머리 미들웨어를 추천합니다.
이게 도움이 됐으면 좋겠어요.베스트 프랙티스 세트라고는 할 수 없지만, 나에게 효과가 있는 세트입니다.
Angularjs와 Django의 혼동을 방지하려면http://https://docs.angularjs.org/api/ng/provider/$interpolateProvider 를 참조해 주세요.
기본적으로 Django가 {{xyz}}개의 변수와 {{xyz}}개의 변수를 함께 사용할 수 있도록 하려면 다음과 같이 하십시오.
app.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});
언급URL : https://stackoverflow.com/questions/18148909/what-are-the-best-practices-to-use-angularjs-with-django
'programing' 카테고리의 다른 글
angularjs 1.x는 라이프 사이클과 수명을 지원합니다. (0) | 2023.02.25 |
---|---|
Oracle 시퀀스를 기존 열의 다음 값으로 리셋하는 가장 좋은 방법은 무엇입니까? (0) | 2023.02.25 |
Spring Boot 검증 메시지가 해결되지 않음 (0) | 2023.02.25 |
미디어 유형=application/json에 대한 MessageBodyReader를 찾을 수 없습니다. (0) | 2023.02.25 |
jeast --coverage를 실행할 때 Branchs 열은 무엇을 의미합니까? (0) | 2023.02.25 |