/render()处的Django TypeError获取了意外的关键字参数“context_instance”

2024-04-24 10:05:58 发布

您现在位置:Python中文网/ 问答频道 /正文

目前正在Azure上设置一个Django web应用程序,通过Git在本地部署。实际上我还没有编写任何代码,当我使用

python3 manage.py runserver

然后转到站点地址,我得到以下错误:

^{pr2}$

可以追溯到视图.py,包括以下内容:

"""
Definition of views.
"""

from django.shortcuts import render
from django.http import HttpRequest
from django.template import RequestContext
from datetime import datetime

def home(request):
    """Renders the home page."""
    assert isinstance(request, HttpRequest)
    return render(
        request,
        'app/index.html',
        context_instance = RequestContext(request,
        {
            'title':'Home Page',
            'year':datetime.now().year,
        })
    )

def contact(request):
    """Renders the contact page."""
    assert isinstance(request, HttpRequest)
    return render(
        request,
        'app/contact.html',
        context_instance = RequestContext(request,
        {
            'title':'Contact',
            'message':'Your contact page.',
            'year':datetime.now().year,
        })
    )

def about(request):
    """Renders the about page."""
    assert isinstance(request, HttpRequest)
    return render(
        request,
        'app/about.html',
        context_instance = RequestContext(request,
        {
            'title':'About',
            'message':'Your application description page.',
            'year':datetime.now().year,
        })
    )

我不确定错误是什么,因为代码是在Azure中创建应用程序时生成的。据我从文档中可以看出render()的参数是正确的。在


Tags: thedjangofromimportdatetimerequestdefpage
1条回答
网友
1楼 · 发布于 2024-04-24 10:05:58

^{}的第三个参数是context,而不是{};您应该将context_instance=替换为context=(或者可以将其作为位置参数传递)。除此之外,只要递一本字典。在

return render(
    request,
    'app/index.html',
    {
        'title':'Home Page',
        'year':datetime.now().year,
    }
)

相关问题 更多 >