Получить идентификатор объекта документа уже в коллекции mongoDB в Python

У меня есть коллекция в mongodb, в которую я уже вставил документы. Теперь я хочу обновить запись документа и получить идентификатор документа в шаблоне django, как будто я использую флажок рядом с записью в HTML.I хочу дать индивидуальный ящик уникальный идентификатор, который я планирую использовать так же, как идентификатор документа .. такКАК ПОЛУЧИТЬ ID ДОКУМЕНТА В ШАБЛОНЕ DJANGO ?

 Gianfranco P.15 окт. 2012 г., 13:26
покажите некоторый код о том, как вы пытаетесь это сделать и где конкретно застряли. Помните, что StackOverflow - это не форум! Смотрите некоторые часто задаваемые вопросы здесьstackoverflow.com/faq

Ответы на вопрос(1)

_id приписывать. Однако используя{{ object._id }} в шаблоне Django выдает ошибку, сообщающую, что не может найти атрибут _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 загрузить тег шаблона.

 shaw2thefloor25 февр. 2015 г., 16:18
Хороший полный ответ. +1

Ваш ответ на вопрос