加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 渲染时捕获TypeError:’BoundField’对象不可迭代

发布时间:2020-12-20 13:21:30 所属栏目:Python 来源:网络整理
导读:我试图将标签列表显示为tag.name(而不是列表).但是,当我尝试在列表上运行for循环时,它会在渲染时抛出“Caught TypeError:’BoundField’对象不可迭代.” dd{% for tag in form.tags %}{{tag.name}}{% endfor %}/dd 迭代.all将加载页面,但不显示Tags字段. dd
我试图将标签列表显示为tag.name(而不是列表).但是,当我尝试在列表上运行for循环时,它会在渲染时抛出“Caught TypeError:’BoundField’对象不可迭代.”

<dd>{% for tag in form.tags %}{{tag.name}}{% endfor %}</dd>

迭代.all将加载页面,但不显示Tags字段.

<dd>{% for tag in form.tags.all %}{{tag.name}}{% endfor %}</dd>



  class Profile(models.Model):

    user = models.ForeignKey(User)

  tagging.register(Profile)




form = ProfileForm(initial={
        "fullname":fullname,"location":request.user.get_profile().location,"website":request.user.get_profile().website,"twitter_account":request.user.get_profile().twitter_account,"email":request.user.email,"bio":request.user.get_profile().bio,"tags":request.user.get_profile().tags
    })



    class ProfileForm(forms.Form):
        fullname = forms.CharField(
             label=_("Full Name"),widget=forms.TextInput(),required=False)

        location = forms.CharField(
             label=_("Location"),required=False)

        website = forms.CharField(
             label=_("Website"),required=False)

        twitter_account = forms.CharField(
             label=_("Twitter"),required=False)

        bio = forms.CharField(
             label=_("Bio"),widget=forms.Textarea(),required=False)

        tags = forms.CharField(
    label=_("Keywords"),required=False)

提前谢谢了!

解决方法

代码来自 Howto Post

模板:

{% for tag in blogpost.get_tags %}
  <a href="/blog/tag/{{tag}}" alt="{{tag}}" title="{{tag}}">{{tag}}</a>
{%endfor%}

模型:

from django.db import models
from tagging.fields import TagField
from tagging.models import Tag

class BlogPost(models.Model):

    title = models.CharField(max_length=30)
    body = models.TextField()
    date_posted = models.DateField(auto_now_add=True)
    tags = TagField()

    def set_tags(self,tags):
        Tag.objects.update_tags(self,tags)

    def get_tags(self,tags):
        return Tag.objects.get_for_object(self)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读