2017-09-27 138 views
0

在下面的代码而不是{{ i.user }}我想从另一个表中访问值为{{ i.user }}作为匹配值。如何HTML内完成它从DJango中的HTML模板访问数据库模型

{% for i in obj reversed %} 
<div class="container"> 
<blockquote> 
    <header> {{ i.topic }} {{ i.user }} </header> 
    <p> {{ i.desc }} </p> 
    <footer> {{ i.time }} </footer> 
</blockquote> 
{% endfor %} 
</div> 

这里是我的模型

from django.db import models 

class Accounts(models.Model): 
    name=models.CharField(max_length=30) 
    phone=models.CharField(max_length=20,unique=True) 
    mail=models.EmailField() 
    password=models.CharField(max_length=20) 

    def __str__(self): 
     return self.name 

class BlogPost(models.Model): 
    user=models.CharField(max_length=30) 
    topic=models.CharField(max_length=100) 
    desc=models.CharField(max_length=1000) 
    likes=models.IntegerField(null=True,default=0) 
    time=models.DateTimeField(null=True) 

    def __str__(self): 
     return self.user 

而且我要提前使用Blogspot.user{{ i.user }}模板

由于得到Accounts值...

+0

你可以添加你的模型? –

+0

在问题 –

+0

中添加为了有类似的东西,你需要模型之间的关系。使用ForeignKey。您的用户字段与帐户相关的方式如何? –

回答

1
from django.contrib.auth.models import AbstractBaseUser 

class Accounts(AbstractBaseUser): 

    name = models.CharField(max_length=30) 
    phone = models.CharField(max_length=20,unique=True) 
    mail = models.EmailField() 
    password = models.CharField(max_length=20) 

    def __str__(self): 
     return self.name 

class BlogPost(models.Model): 
    user = models.ForeignKey(Accounts, related_name='accounts') 
    topic = models.CharField(max_length=100) 
    desc = models.CharField(max_length=1000) 
    likes = models.IntegerField(null=True,default=0) 
    time = models.DateTimeField(null=True) 

    def __str__(self): 
     return self.user 

现在,使用外键哟你可以访问模板中的账户模型属性。