我正在尝试不同类型的视图进行练习,我在django1.5中收到以下错误消息:
context = super(HelloTemplate, self).get_context_data(**kwargs)
NameError: global name 'kwargs' is not defined.
我的网址.py对于项目:
^{pr2}$我的视图.py:-
from django.http import HttpResponse
from django.template.loader import get_template
from django.template import Context
from django.shortcuts import render_to_response
from django.views.generic.base import TemplateView
def hello(request):
name = 'Mudassar'
html = "<html><body>Hi %s, this seems to worked!</body></html>" % name
return HttpResponse(html)
def hello_template(request):
name = 'Mudassar'
t = get_template('hello.html')
html = t.render(Context({'name': name}))
return HttpResponse(html)
def hello_template_simple(request):
name = 'Mudassar'
return render_to_response('hello.html', {'name':name})
class HelloTemplate(TemplateView):
template_name = 'hello_class.html'
def get_context_data(self, **kwarg):
context = super(HelloTemplate, self).get_context_data(**kwargs)
context['name'] = 'Mudassar'
return context
替换:
有:
^{pr2}$:):p
因为
get_context_data
中的参数名为kwarg
,而你用kwargs
(复数)来引用它。在我建议你用复数形式使用
kwargs
,因为is more standard:)必须使用传递的同一个变量。在
如果您想使用
kwargs
,那么传递kwargs
如果您想使用kwarg
,那么在super中传递相同的内容。在相关问题 更多 >
编程相关推荐