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(),
    })