我试图遍历数据库并在django模板中输出结果。我完成了所有工作,但它输出html中的以下每个项目:
[u' AMD',u' A10-7700K,3,4 GHz(3,8 GHz Turbo Boost)FM2 +处理器']
[u' \ n 3.400 MHz \ xa0 \ n',u' \ n 4核心\ xa0 \ n',u' \ n FM2 + \ xa0 \ n& #39]
记录。我希望它输出为没有unicode的普通字符串。我试了很多东西,但似乎都没有。我会写下我尝试的所有事情,但老实说,我甚至无法跟踪所有这些事情。
我收到了以下django文件,我只会写下相关内容:
views.py:
def processoren(request):
processoren = Processoren.objects(categorie__contains='Processor')[:10]
#processoren = json.dumps(list(processoren)
return render_to_response('processoren.html', {'Processoren': processoren},
context_instance=RequestContext(request))
models.py:
from django.db import models
from mongoengine import *
from APc.settings import DBNAME
connect(DBNAME)
class Processoren(Document):
categorie = StringField(max_length=120)
naam = StringField(max_length=500)
subnaam = StringField(max_length=500)
info = StringField(max_length=500)
stock = StringField(max_length=500)
enter code hereprijs = StringField(max_length=120)
processoren.html:
{% extends "base.html" %}
{% load static %}
{% block content %}
<div class="container">
<div class="col-md-4 col-lg-2">
</div>
<div class="col-md-8 col-lg-10">
<div class=" top-margin">
<h1>Processoren</h1>
{% for processor in Processoren %}
<div class="list-group">
<div class="list-group-item">
<div class="row-picture">
<img class="square" src="http://lorempixel.com/56/56/people/1" alt="icon">
</div>
<div class="row-content">
<h4 class="list-group-item-heading">{{ processor.naam }}</h4>
<p class="list-group-item-text">{{ processor.info }}</p>
<p class="list-group-item-text pull-right">{{ processor.prijs }}</p>
<p class="list-group-item-text pull-right">{{ processor.stock }}</p>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
{% endblock %}
我试着简单地将step()放在processor.naam之后,但是它也不起作用。什么工作是在processor.naam之后添加0然后我当然只得到第一个索引,它将是&#34; AMD&#34;。任何帮助将不胜感激。
答案 0 :(得分:1)
这与Unicode无关。你有一个项目列表,你需要迭代它们。
{% for name in processor.naam %}{{ name }}{% endfor %}
答案 1 :(得分:0)
对于Django不熟悉MongoEngine,将unicode值转换为字符串非常简单,这有助于您暂时解决问题,直到找到问题的根源。
objects = Processoren.objects.filter(categorie__contains='Processor')[:10]
processoren = [str(p.naam) for p in objects]
同样,我不知道使用该引擎在查询集上可用的方法,因此在这种情况下我避免使用values_list
。我还不确定您需要输出哪个属性,所以我只使用了naam