나는 그물을 뒤적 거리며 아무 대답도 찾지 못했습니다. 장고를 처음 사용했습니다. 공식 튜토리얼을 끝내고 더 많은 내용을 읽었지만 불행히도 이들 모두는 하나의 애플리케이션 만 만드는 데 중점을 둡니다. 한 페이지를 하나의 앱으로 사용하는 것은 흔한 일이 아니므로 장고 전문가에게 웹 페이지에 여러 개의 앱을 설치하는 방법을 설명해달라고 요청하고 싶습니다. mysite.com에 가면 설문 조사를 표시하는 설문 조사 앱, 일부 사진을 표시하는 갤러리 앱, 최신 뉴스 등을 표시하는 뉴스 앱, 한 URL을 통해 모두 액세스 한 것을 볼 수 있습니다. 나는 템플릿에서 표시를하지만 분명히 데이터에 액세스해야한다는 것을 알고 있습니다. 여러보기를 반환하기 위해보기를 작성합니까? 모든 조언, 링크 및 예제가 많이 감사합니다.장고 - 하나의 웹 페이지에 여러 개의 앱이 있습니까?
답변
을 도움이되기를 바랍니다.
템플릿에서 views.py
def home(request, template='path/to/template'):
context = {
'polls': Poll.objects.all(),
'galleries': Gallery.objects.all(),
}
return (request, template, context)
:
{% for poll in polls %}
{{ poll }}
{% endfor %}
{% for gallery in galleries %}
{{ gallery }}
{% endfor %}
urls.py
url('home/$', app.views.home, name='home')
당신은 사이드 바에서 같은 정보를 표시 할 경우 그러나 그것은 어디 것이다 항상 표시되고 템플릿 태그를 사용하고 싶습니다.
각 페이지 또는보기는 단일 앱에 포함되어야하지만 앱 내에서 다른 앱을로드 할 수 있습니다. 그러나이 앱은 다른 앱이 존재하는지에 따라 달라집니다.
그래서 당신은 그 thisapp.views에 당신은 단순히이
from otherapp.models import OtherAppModel
같은 파일의 상단에 가져 오기를 추가합니다 "thisapp"라는이 응용 프로그램에서 "otherapp"라는 응용 프로그램에서 뭔가를 표시하려는 경우
가져 오기를 완료하면 해당 모델 필드 및 메소드에 액세스 할 수 있습니다. 또한 설정 파일의 INSTALLED_APPS 목록에 모든 앱을 추가했는지 확인하십시오.
내 경험에 의하면 일반적으로 템플릿 태그 https://docs.djangoproject.com/en/dev/ref/templates/builtins/을 사용합니다. 예를 들어 페이지에 설문 조사를 추가하려면 설문 조사 응용 프로그램을 작성한 다음 템플리트 태그를 사용하여 페이지에 설문을 추가하십시오. 설문 조사가 귀하의 견해에 포함되지 않습니다.
그래, 설문 조사보다 더 많은 것을보고 싶다면 어떻게 됐을까요? 설문 조사 및 다른 응용 프로그램을 반환하는보기를 만들 수 있지만 다른 응용 프로그램에서 다른 응용 프로그램을 혼자 사용할 수는 없습니다. – yoK0
당신은 이것을 생각하지 않을 수도 있습니다. 보기에는 단일 모델에 대한 정보 만 들어 있어야하며 다른 모델을 포함해서는 안됩니다. 템플릿 태그는 뷰에서 추가 정보를 삽입하는 도우미입니다. – mrfunyon
동의합니다. 그러나 뷰가 다른 앱을 반환하지 않으면 템플릿 태그와 함께 사용할 수 없습니다. 그리고 우리는 주된 질문으로 돌아 왔습니다. 나는 그다지 놀라운 일을하지 않는다. 내가 구하는 마법 물건인가? 그냥 장고와 함께 정기적으로 웹 사이트를 구축 알고 싶습니다. – yoK0
django 앱은 실제로 페이지에 매핑되지 않고 함수로 매핑됩니다. 앱은 '설문 조사'앱이나 '뉴스'앱과 같은 것입니다. 각 응용 프로그램에는 몇 가지 지원 모델이있는 하나의 기본 모델이 있어야합니다. 뉴스 앱처럼 저자 및 미디어와 같은 지원 모델이 포함 된 기사 모델을 가질 수 있습니다.
여러 개를 표시하려면 통합 응용 프로그램이 필요합니다. 이렇게하는 한 가지 방법은 설문 조사 및 뉴스 앱 옆에 '프로젝트'앱을 설치하는 것입니다. 프로젝트 응용 프로그램은 특정 웹 사이트 용입니다.이 응용 프로그램과 관련된 논리입니다. 그것은 기본 urls.py, 기본 templat (s), 그런 것들을 가질 것입니다. 한 페이지에 여러 앱의 정보가 필요한 경우 여러 앱에서 정보를 반환하는보기가 있어야합니다. 예를 들어, 뉴스 기사에 대한 정보를 반환하는보기와 설문 조사에 대한 정보를 반환하는보기가 있다고 가정 해보십시오. 당신은 두 가지 뷰 함수를 호출하고 리턴 된 데이터를 두 가지 모두를위한 스폿을 가진 다른 템플릿에 집어 넣는 뷰를 프로젝트 앱에 가질 수 있습니다.
이 특정 예에서는 설문 조사 응용 프로그램을 설정하여 반환 정보가 포함 된 다음 뉴스 기사에 정보를 포함 할 수 있습니다. 이 경우에는 앱을 개발의 일부로 함께 연결하지 않아도되며, 콘텐츠 작성이 끝나면 필요에 따라 앱을 연결할 수 있습니다.
감사합니다. 가장 정확한 대답 인 것 같습니다. 그래서 저는 다른 시각으로 돌아가는 관점에서 꽤 많이 다루었습니다. 이게 진짜 개발자가 내 바보 같은 질문에 대한 답이나 그 대답을하는 방식입니까? – yoK0
내가 본 프로젝트는 그런 식으로 설정됩니다. 메 자닌 프로젝트를 살펴보고 지침에 따라 프로젝트를 설정 한 다음 저장소를 살펴보십시오. 그것은 통합 된 경험을 만드는 데 필요한 다양한 애플 리케이션을 활용 프로젝트 수준의 애플 리케이션으로 당신을 설정합니다. –
레이아웃을 여러 div로 만들 수 있습니다. 각 앱마다 모두 배포하려는 의도로 각 div 내에 미리보기와 함께 Google 검색처럼 원하는 모든 응용 프로그램 URL의 내용을 쉽게 그릴 수 있습니다. 특정 경우에 CSS 분리 기술을 사용하지 않으려면 모든 앱에 공통 CSS를 사용하는 것이 좋습니다. 또 다른 해결책은 iframe을 사용하는 것입니다. 이 유용 할 수 있습니다 :
https://github.com/diefenbach/django-portlets
그것이 당신은 페이지에서 응용 프로그램 데이터를 표시하려면이 같은 뭔가를 할 수흥미 롭습니다. 감사 – yoK0
- 1. 하나의 서버에 여러 개의 장고 앱이 있습니다.
- 2. 하나의 프로젝트에 여러 개의 앱이 있습니까?
- 3. 하나의 도메인에 여러 개의 앱이 있습니까?
- 4. 여러 페이지에 하나의 메뉴가 있습니까?
- 5. 여러 개의 연결된 장고 양식, 하나의 제출
- 6. 하나의 서버에 여러 개의 장고 사이트가 있습니다.
- 7. 하나의 페이지에 여러 개의 IFrame이 있음
- 8. 하나의 페이지에 여러 개의 정사각형 '저장'버튼이 있습니다.
- 9. 하나의 웹 페이지에 여러 sigma.js 그래프 포함하기
- 10. 레일 : 하나의 페이지에 여러 개의 index.html.erb 렌더링
- 11. 하나의 페이지에 여러 개의 탭이 있습니다.
- 12. 하나의 서버에 여러 개의 장고 앱 설정하기
- 13. 하나의 페이지에 여러 개의 jquery 파일이 있습니다.
- 14. 동일한 웹 사이트의 여러 페이지에 여러 개의 인코딩이있는 단점이 있습니까?
- 15. 하나의 PHP 페이지에 여러 개의 양식이 있습니다.
- 16. 하나의 페이지에 여러 개의 easyXDM이 있습니다.
- 17. 하나의 페이지에 여러 개의 하이 차트가 있습니다.
- 18. 하나의 페이지에 여러 개의 RadUpload 컨트롤
- 19. 하나의 바람둥이와 postgres 인스턴스에 여러 개의 앱이 있습니까?
- 20. 하나의 페이지에 서로 다른 설명이있는 여러 개의 Facebook '보내기'버튼이 있습니까?
- 21. 여러 개의 Html.ValidationSummary가 하나의 .Net MVC 페이지에 있습니까?
- 22. 여러 페이지에 하나의 부분보기
- 23. 하나의 웹 페이지에 4 개의 요소를 가로로 띄우는 방법이 있습니까
- 24. 하나의 프로젝트에 여러 앱이 있습니다.
- 25. 여러 페이지에 하나의 div
- 26. scalajs : 하나의 프로젝트에 여러 앱이 있습니까?
- 27. 한 페이지에 여러 개의 트위터가 들어 있습니까?
- 28. 웹 페이지에 여러 개의 Facebox가 있습니다 : 개별 이벤트가 있습니까?
- 29. 하나의 프로젝트에 여러 개의 앱이 있거나 Firebase에 하나의 프로젝트에 하나의 프로젝트가 있습니까?
- 30. 하나의 AppEngine 서버에 여러 개의 장고 인스턴스가 있습니다.
나는 당신이 원하는 것을 알고 있지만 이것은 내가 원하는 것을 얻기위한 올바른 해결책이 아닙니다. 나는 somwhere이 해결책을 읽었다; 항상 같은보기를 만든 다음 다른보기를 렌더링하는보기를 만듭니다. 나는 페이지에서 원하는 모든 응용 프로그램을 렌더링하는보기 홈을 만들 수 있었고 여전히 그 응용 프로그램을 separetly에 액세스 할 수있었습니다. 어쨌든 당신의 대답에 감사드립니다. – yoK0