我在其中已經插入了文檔的mongodb中有一個集合。現在我想更新文檔條目,並且想要在django模板中檢索文檔ID,就像我使用複選框旁邊的HTML條目。我想給個別的盒子一個唯一的ID,我打算使用相同的文件ID ..所以如何檢索文件ID在DJANGO模板?在Python中獲取已存在於mongoDB集合中的文檔的對象ID
1
A
回答
5
您可以使用_id
屬性獲取MongoDB文檔的ID。但是,在Django模板中使用{{ object._id }}
時,會導致錯誤,指出它找不到_id屬性。
要解決這個問題,您必須爲您的應用程序創建一個自定義模板標記並使用它來獲取_id。
在您的應用程序文件夾中,創建一個templatetags文件夾並創建一些python文件,例如:appname_tags.py。
的目錄結構會是這樣的
/projectdir
/appdir
/templatetags
__init__.py
appname_tags.py
models.py
views.py
的appname_tags.py裏面粘貼以下代碼
from django import template
register = template.Library()
@register.filter("mongo_id")
def mongo_id(value):
return str(value['_id'])
現在,您可以通過加載使用這個新的自定義模板標籤在你的模板標籤模塊並將mongo文檔對象傳遞給它。
<html>
<body>
{% load appname_tags %}
<p>here is your mongodb record id: {{ object|mongo_id }}</>
</body>
</html>
記住,應用程序應該在INSTALLED_APPS
設置變量settings.py
Django的加載模板標籤。
+0
好的完整答案。 +1 – shaw2thefloor
相關問題
- 1. 獲取子文檔存在於不同集合中的mongodb文檔的子文檔
- 2. Mongodb獲取文檔在集合中的位置
- 3. NHibernate的獲取基於聚集根ID對象A的集合
- 4. 如何通過propel對象集合中的「id」獲取對象?
- 5. 檢查在不同的集合MongoDB的聚集存在文檔
- 6. MongoDB - 獲取具有保存在另一個集合的文檔的列表中的屬性的所有文檔
- 7. 檢查對象(文檔)是否存在於MongoDB中(使用Jongo)
- 8. 如何使用文檔ID從mongoDB集合中刪除文檔?
- 9. 獲取在Symfony3庫中創建MongoDB的文檔的ID
- 10. 獲取MongoDB文檔中嵌入式集合的計數
- 11. 在Javascript中獲取關於NodeList對象的文檔的位置?
- 12. 在mongodb集合中添加新對象
- 13. 在Node.js中的Mongodb集合對象緩存
- 14. 如何在保存Mongoose中的對象後獲取對象ID?
- 15. MongoDB:集合中的所有文檔
- 16. MongoDB集合中的唯一文檔
- 17. 文檔在一個集合的MongoDB
- 18. 如何在數組中集合文檔而不是在MongoDB的集合中?
- 19. 在Deep MongoDB文檔中查找對象
- 20. 如何在MongoDB集合中獲取特定的嵌入式文檔?
- 21. Django獲取保存中對象的ID()
- 22. 存儲在不同的集合的文檔 - MongoDB的與Symfony2的
- 23. 使用貓鼬在mongoDB集合中保存單個文檔
- 24. mongodb是否有可能獲取集合中文檔中的所有對象的鍵和值?
- 25. 如何在MongoDB集合中保存包含對象列表的對象
- 26. 在Mongodb中獲取唯一文檔?
- 27. 當ID在使用C#和MongoDB的另一個集合的文檔中時,通過標識獲取
- 28. WPF綁定到一個對象集合,按ID存儲在另一個集合中的ID存儲在C#
- 29. 在mongoDb中保存文檔
- 30. 如何在MongoDB中返回沒有objectId的集合的文檔?
顯示一些代碼,你如何試圖做到這一點,特別是在哪裏卡住。記住StackOverflow不是論壇!看到這裏的一些常見問題http://stackoverflow.com/faq –