如何在模板中显示模型对象中的内容?

时间:2015-08-10 10:28:06

标签: python django django-models django-templates django-views

如何在模板中显示country对象的cityUserType1

class UserType1(models.Model):
    user=models.OneToOneField(User,parent_link=True,primary_key=True)
    country = models.CharField(max_length=50)
    city = models.CharField(max_length=50)

    def __str__(self):
        return str(self.user)

    def get_country(self):
        return self.country

    def get_city(self):
        return self.city

我在views.py

中有以下内容
def profile(request,userid):
    basic_info = User.objects.get(pk=int(userid))
    profile = UserType1.objects.filter(user=int(userid))
    template_name = 'users/profile.html'
    return render(request, template_name, {'userid':userid,'basic_info':basic_info, 'profile':profile})

以及模板中的以下内容

{% if profile %}
    {{ profile.get_city }}
    {{ profile.city }} 
{% endif %}

都没有奏效。谢谢!

1 个答案:

答案 0 :(得分:2)

您似乎正在访问查询集上的属性,而不是模型实例,因为您未在$(myForm).find("input[type=text]").each(function() { // Validate text inputs; each input is available as `this`, // which is a DOM element }); 上调用get

尝试:

UserType1

顺便说一下,一个小小的改动可以简化你的代码:

profile = UserType1.objects.get(user=int(userid))