2014-12-03 217 views
0

我有一个NameError: global name 'CreateMapForm' is not defined错误,但是它是间歇性的Django - 全局名称未定义错误

我不明白这一点,因为在我的python IDE中一切似乎都很好。 CreateMapForm只是一个简单的ModelForm。任何人都可以指出这个问题的原因,或者建议在哪里寻找原因?

地图/ views.py:

from maps.forms import * 

@login_required(login_url='/accounts/login/') 
def createMap(request, folder_id): 
    folder = Folder.objects.get(pk=folder_id, created_by=request.user) 

    if type(folder) != Folder: 
     folder = folder.parent 

    nodes = folder.get_ancestors(include_self=True) 

    form = CreateMapForm() #this line cause the error 
    html = render_to_string("basqui/manage_maps_create.html", {'folder': folder, 'nodes': nodes, 'form': form}, context_instance=RequestContext(request)) 
    response = json.dumps({'html': html}) 

    if request.POST: 
     form = CreateMapForm(request.POST) 
     if form.is_valid(): 
      instance = form.save(commit=False) 
      instance.created_by = request.user 
      instance.parent = folder 
      instance.save() 
      response = json.dumps({"map": {"pk": instance.pk, "name": instance.name}}, cls=DjangoJSONEncoder) 
     else: 
      html = render_to_string("basqui/manage_maps_create.html", {'folder': folder, 'nodes': nodes, 'form': form}, context_instance=RequestContext(request)) 
      response = json.dumps({'html': html}) 

    return HttpResponse(response, content_type="application/json") 

地图/ forms.py

from django import forms 
from maps.models import * 

class CreateMapForm(forms.ModelForm): 
    class Meta: 
     model = BasquiMap 
     fields = ('name', 'layers', 'wms') 
+0

你试过导入'CreateMapForm'(和您在您的视图需要的任何其他形式)明确地用'从maps.forms导入CreateMapForm'而不是'从maps.forms导入*'?这应该至少将间歇性错误移动到导入! – xnx 2014-12-03 19:44:23

+0

@xnx我试了一下,就像你说我有一个ImportError,但我不知道为什么导入是nort工作。有想法吗? – 2014-12-03 19:52:13

+0

'settings.py'' INSTALLED_APPS'中的'maps'应用程序? – xnx 2014-12-03 19:53:42

回答

3

正如你在CreateMapForm()forms你需要将其导入views所以添加以下views

from maps import forms 

并替换如下:

form = CreateMapForm() 

有:

form = forms.CreateMapForm() 
+0

嗨,对不起,这个愚蠢的问题,但从maps.forms进口*应该做对了吗? – 2014-12-03 19:46:42

+0

@BelowtheRadar你的欢迎是肯定它也可以做到! – Kasramvd 2014-12-03 20:12:10

相关问题