得到mongodb" _id"在django模板中

时间:2016-03-07 06:37:24

标签: python django mongodb templates

我的问题与this question有关。

我试图在过去2天内显示django模板中mongo数据库的所有_id但无法获取它。

这是错误:

error

这是我正在尝试的代码:

views.py

register = template.Library()
port = 27019
client = MongoClient(port=port)
mydb = client.catalogDB
data = mydb.productCatalog  

def index(request):
   values = data.find()
   @register.filter("mongo_id")
   def mongo_id(value):
      return str(value['_id'])
   return render(request, 'product.html', {"values":values})

product.html

<ul class="row catalog-list">
    {% for value in values %}    
    <li class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
       <div>
          <img src={{value.image_url_medium}}>
          <label>
            <input type="checkbox" name="sync-check" class="catalog-checkbox">
          </label>
        </div>
        <div>
          {% csrf_token %}
          <h4 class="ellipsis-text catalog-item-name" tooltip={{value.name}}><span class="catalogProductId">{{value.name}}</span></h4>
          {% load views %}
          <h5 >Product Id: {{ object|mongo_id }}</h5>
          <h5>Category:{{value.catagory}}</h5>
          <h5>Best Price: {{value.best_price}}</h5>
          <h5>Best Price Vendor: {{value.best_price_vendor}}</h5>
          <h5 class="ellipsis-text">Link:
            <a href={{value.best_price_vendor_url}}>{{value.best_price_vendor_url}}</a>
          </h5>
        </div>
    </li>
    {% endfor %}
    <h2 class="message">Sorry no records found</h2>
</ul>

虽然,我尝试将名称更改为静态,缓存等,但仍然没有运气。

1 个答案:

答案 0 :(得分:1)

模板标签写在app / templatetag文件夹中,不在应用程序视图中。

https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/