Django-将这些特定的模型对象传递给一个模板
模型Django-将这些特定的模型对象传递给一个模板,django,django-views,Django,Django Views,模型 class Person( models.Model ): first_name = models.CharField( max_length=50 ) last_name = models.CharField( max_length=50 ) def __str__(self): return "{0} {1}".format( self.first_name, self.last_name ) 视图功能 def getPer
class Person( models.Model ):
first_name = models.CharField( max_length=50 )
last_name = models.CharField( max_length=50 )
def __str__(self):
return "{0} {1}".format( self.first_name, self.last_name )
视图功能
def getPersonData(request):
currPersonData = {}
# get current user
currentUser = request.user
# create a person object based on who is logged in.
person = Person.objects.create(first_name=currentUser.first_name,
last_name=currentUser.last_name)
# getting front loaded personMeta, that user CANNOT provide
personDetails = PersonMeta.objects.filter(legal_first_name=currentUser.first_name,
legal_last_name=currentUser.last_name).values()
# setting hash key for dict
currUserKey = "{0} {1}".format(currentUser.first_name, currentUser.last_name)
# setting dictionary
# data[currUserKey] = currentUser
# if person details is not false
if (personDetails):
currPersonData[currUserKey] = personDetails
return currPersonData
查看调用函数并将数据返回到模板
def signup(request):
currPersonData = getPersonData( request )
return render( request, '/signup.html/', {'data': sorted( currPersonData.items( ) )}, )
网址
模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>SignUp</title>
</head>
<body>
{% for tuple in data %}
<p>Tuple key: {{ tuple.0 }}</p>
{% for key, value in tuple.1.0.items %}
<p>Dict key, value: {{ key }}: {{ value }}</p>
{% endfor %}
{% endfor %}
{% for values in eb %}
<p>values</p>
{% endfor %}
</body>
</html>
我试着跟着
及
结果不成功,现在我已经为此工作了一段时间,现在我想我下一个最好的办法是寻求帮助 您可以在视图的上下文中传递多个模型。在视图函数中,例如:
def signup(request):
currPersonData = getPersonData( request )
return render( request, '/signup.html/', {
'data': sorted( currPersonData.items( ) ),
'electives': Elective.objects.all(),
})
可以在视图的上下文中传递多个模型。在视图函数中,例如:
def signup(request):
currPersonData = getPersonData( request )
return render( request, '/signup.html/', {
'data': sorted( currPersonData.items( ) ),
'electives': Elective.objects.all(),
})
为什么不在上下文中传递更多的变量呢?(在
render
函数中)。@w您是否介意指向一个示例或文档?为什么不在您的上下文中传递更多变量?(在render
函数中)。@Wtower您是否介意指向一个示例或文档?我将此标记为可接受的答案请注意我使用了“可选”:可选.objects.all().values()`我将此标记为可接受的答案请注意我使用了“可选”:可选.objects.all().values()`
def signup(request):
currPersonData = getPersonData( request )
return render( request, '/signup.html/', {
'data': sorted( currPersonData.items( ) ),
'electives': Elective.objects.all(),
})