2014-12-03 116 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