나는 mongodb에 이미 문서를 삽입 한 콜렉션을 가지고 있습니다. 이제는 문서 항목을 업데이트하고 장고 템플릿에서 문서 ID를 가져 오려고합니다. HTML의 항목 옆에있는 확인란을 사용하는 것과 같습니다. 개별 상자에 문서 ID와 동일한 ID를 사용할 고유 ID를 부여하려고합니다. DJANGO 템플릿의 문서 ID는 어떻게 검색합니까?이미 파이썬에서 mongoDB 컬렉션에있는 문서의 객체 ID를 얻습니다.
1
A
답변
5
_id
속성을 사용하여 MongoDB 문서의 ID를 가져올 수 있습니다. 그러나 Django 템플릿에서 {{ object._id }}
을 사용하면 _id 속성을 찾을 수 없다는 오류가 발생합니다.
이 문제를 해결하려면 앱의 맞춤 템플릿 태그를 만들어 _id를 가져와야합니다.
app 폴더 안에 templatetags 폴더를 만들고 python 파일 (예 : appname_tags.py)을 만듭니다.
디렉토리 구조는 appname_tags.py 안쪽이
/projectdir
/appdir
/templatetags
__init__.py
appname_tags.py
models.py
views.py
같은 것이
from django import template
register = template.Library()
@register.filter("mongo_id")
def mongo_id(value):
return str(value['_id'])
은 이제로드하여 템플릿이 새 사용자 지정 템플릿 태그를 사용할 수있는 다음 코드를 붙여 넣 것 태그 모듈에 전달하고 몽고 문서 객체를 전달합니다.
<html>
<body>
{% load appname_tags %}
<p>here is your mongodb record id: {{ object|mongo_id }}</>
</body>
</html>
장고 템플릿 태그를로드하는 응용 프로그램은
settings.py
에
INSTALLED_APPS
설정 변수에 있어야 기억하십시오.
+0
좋은 답변입니다. +1 – shaw2thefloor
관련 문제
- 1. MongoDB : 컬렉션에있는 문서를 중복합니다.
- 2. 문서의 Mongodb 기본 데이터
- 3. 임베디드 문서의 mongodb 한도
- 4. Gmaps4rails : 관련 마커를 클릭하면 위치 객체 ID를 얻습니다.
- 5. MongoDB : 연결이 이미 열렸습니다.
- 6. 새로 생성 된 문서의 ID를 얻으시오
- 7. MongoDB 문서의 키 가져 오기
- 8. 버튼을 클릭하면 UL에서 ID를 얻습니다
- 9. 버튼 처리기에서 버튼의 ID를 얻습니다.
- 10. javascript는 "commonAncestorContainer"의 ID를 얻습니다.
- 11. 셀레늄은 xpath에서 동적 ID를 얻습니다.
- 12. jquery는 document.ready에서 다른 ID를 얻습니다.
- 13. 페이스 북은 사용자 ID를 얻습니다
- 14. mongodb id를 grails의 objectId로 변환하는 방법
- 15. MongoDB 객체 인스턴스
- 16. MongoDB 배열과 객체
- 17. PHP에서 mongodb 필드를 특정 순서로 얻습니다.
- 18. Doctrine 2 MongoDB 객체의 자식 레코드를 얻습니다.
- 19. MongoDB : ID를 설정할 수 있습니까?
- 20. Mongodb - 하위 문서의 키 정규식 일치
- 21. 몽고 (Mongodb)가 문서의 특정 부분을 가져옴
- 22. MongoDB - Linq를 사용하는 하위 문서의 조건
- 23. YUI를 사용하여 노드의 ID를 얻습니다. 3.3
- 24. Fluent NHibernate는 저장된 객체의 ID를 얻습니다.
- 25. 쿼리에 의해 업데이트 된 행의 ID를 얻습니다.
- 26. 안드로이드는 프로그래밍 방식으로 SD 카드의 ID를 얻습니다.
- 27. Android : Howto는 안드로이드 리소스의 리소스 ID를 얻습니다.
- 28. jquery를 사용하여 반복에서 요소의 ID를 얻습니다.
- 29. mysql이 이전 및 다음 레코드 ID를 얻습니다.
- 30. Wordpress는 게시물에 사용 된 이미지의 ID를 얻습니다
이 코드를 어떻게 작성하려고 노력하고 있으며 어디에서 꼼짝 못하는지에 대한 몇 가지 코드를 보여줍니다. StackOverflow가 포럼이 아니란 것을 기억하십시오! 여기에 몇 가지 FAQ를 참조하십시오 http://stackoverflow.com/faq –