在Django中将模型中存在的字段中的数据打印到HTML页面上
我试图在Django中将模型中存在的字段打印到HTML页面上 我希望街道地址字段打印到页面上。用户名打印到任何问题的页面上。最好的方法是什么 型号:在Django中将模型中存在的字段中的数据打印到HTML页面上,django,django-models,Django,Django Models,我试图在Django中将模型中存在的字段打印到HTML页面上 我希望街道地址字段打印到页面上。用户名打印到任何问题的页面上。最好的方法是什么 型号: from django.db import models from django.contrib.auth.models import User class Address(models.Model): user = models.ForeignKey(User) street_address = models.CharField
from django.db import models
from django.contrib.auth.models import User
class Address(models.Model):
user = models.ForeignKey(User)
street_address = models.CharField(max_length = 200)
city = models.CharField(max_length = 100)
state = models.CharField(max_length = 100)
zipcode = models.IntegerField(max_length = 5)
updated = models.DateTimeField(auto_now = True, auto_now_add = False)
timestamp = models.DateTimeField(auto_now = False, auto_now_add = True)
active = models.BooleanField(default = True)
def __str__(self):
return self.user.address
class Job(models.Model):
user = models.ForeignKey(User)
position = models.CharField(max_length = 200)
employer_address = models.CharField(max_length = 200)
city = models.CharField(max_length = 100)
state = models.CharField(max_length = 100)
zipcode = models.IntegerField(max_length = 5)
start_date = models.DateField(auto_now = False, auto_now_add = False)
end_date = models.DateField(auto_now = False, auto_now_add = False)
updated = models.DateTimeField(auto_now = True, auto_now_add = False)
timestamp = models.DateTimeField(auto_now = False, auto_now_add = True)
phone = models.CharField(max_length = 20, null=True, blank=True)
active = models.BooleanField(default = True)
def __str__(self):
return self.position
视图:
HTML:
{%extends'home.html%}
{%block content%}
{users%%中的用户为%s}
{{user}}
{%endfor%}
{%endblock%}
除非您希望在所有用户之后拥有所有地址,否则请将第二个循环放在第一个循环中
您正在将用户
,一组用户
对象传递到模板渲染<代码>用户没有街道地址
字段-地址
有。您需要将Address
对象传递给表单
它还显示,street\u address
只是一个CharField
,而不是任何类型的列表
如果user
有street\u address
字段,您只需执行以下操作:
{% for user in users %}
<li>{{ user }}</li>
<li>{{ user.street_address }}</li>
{% endfor %}
及
{%用于地址%中的地址}
{{address.user}
{{address.street_address}
{%endfor%}
似乎仍然没有将地址信息打印到页面上。正确,我从管理面板添加了一个图像,显示该字段已填充。非常好的解释!我现在开始明白这一点,但我犯了一个错误。“异常值:未定义全局名称‘地址’”啊,知道了!刚从进口。非常感谢!
{% extends 'home.html' %}
{% block content %}
<!-- user is being called from the variable we declared as users in the previous page -->
{% for user in users %}
<li>{{ user }}</li>
{% endfor %}
<!-- {% for address in user.street_address %}
<li>{{address}}</li>
{% endfor %} -->
{% endblock %}
{% for user in users %}
<li>{{ user }}</li>
<li>{{ user.street_address }}</li>
{% endfor %}
def all(request):
addresses = Address.objects.all()
return render_to_response('all.html', locals(), context_instance=RequestContext(request))
{% for address in addresses %}
<li>{{ address.user }}</li>
<li>{{ address.street_address }}</li>
{% endfor %}