我有一个与每个Django用户关联的模型User_Details
。它有一个名为mobile_number
的字段。我想访问模板中的mobile_number
。我正在尝试request.user.User_Details.mobile_number
,但它不起作用。这是正确的方法吗?如果没有,那我该怎么办呢?
答案 0 :(得分:0)
试试这个(我假设index.html为模板,在urls.py中正确设置):
from django.contrib.auth.models import User
def index(request):
template = loader.get_template('index.html')
user_details = User_Details.objects.get(user=User.objects.get(username=request.user.username))
context = RequestContext(request, {'mobile_no':user_details.mobile_number,}
return HttpResponse(template.render(context))
如果您的User_Details模型中有用户对象(django.contrib.auth.models),则可以使用
class User_Details(models.Model):
user = models.OneToOneField(User)
mobile_number = models.CharField(...
然后在index.html或任何模板中使用
{{mobile_no}}
显示信息
答案 1 :(得分:0)
在不查看您的模型的情况下判断它是否有用,但我想您可以在[[amleth, hamlet], [dirty room, dormitory], [listen, silnet, tinsel], [pear]]
中使用related_name
并直接访问它。
OneToOneField
然后
class User_Details(models.Model):
user = models.OneToOneField(User, related_name="detail")
mobile_number = models.CharField(...
访问它。
希望它有所帮助