全球名称' localset'没有定义

时间:2016-06-16 08:07:25

标签: python django-models django-forms django-views

我收到此错误。

  

全球名称' localset'未定义

以下是我的代码。

from django.shortcuts import render, render_to_response, RequestContext
from forms import SignUpForm


# Create your views here.
def home(request):
    form= SignUpForm(request.POST or None)
    if form.is_valid():
    save_it=form.save(commit=False)
    save_it.save()
    return render_to_response("signup.html", localset, context_instance= RequestContext(request))

3 个答案:

答案 0 :(得分:0)

在最后一行代码中:

return render_to_response("signup.html", localset, context_instance= RequestContext(request))

未定义变量 localset

答案 1 :(得分:0)

@Amin您的原始问题答案是正确的。您在render_to_response函数中确实有一个变量集,该变量集未在视图函数中定义。

您应该将render_to_response行更改为如下所示:

return render_to_response(
    'signup.html', context_instance=RequestContext(request)
)

你也应该注意一些事情。根据{{​​3}},自{django 1.8}以来,context_instance的使用已被弃用。

  

从1.8版开始不推荐使用   不推荐使用context_instance参数。使用render()函数,它总是使RequestContext可用。

如果要传回上下文,现在应该使用django documentation函数。 现在这意味着代码看起来像这样:

from django.shortcuts import render
from forms import SignUpForm


# Create your views here.
def home(request):
    form= SignUpForm(request.POST or None)
    if form.is_valid():
        save_it=form.save(commit=False)
        save_it.save()
    return render(request, "signup.html")

答案 2 :(得分:0)

来自django.shortcuts导入渲染,render_to_response,RequestContext 从表单导入SignUpForm

在此创建您的观点。

def home(请求):     form = SignUpForm(request.POST或None)     如果form.is_valid():         save_it = form.save(提交=假)

    save_it.save()
return render_to_response("signup.html", locals(), context_instance= RequestContext(request))