У меня есть ошибка NameError: global name 'CreateMapForm' is not defined
, но это прерывистый.Django - глобальное название не определено error
Я не получаю его, потому что все кажется прекрасным в моей среде разработки python. 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')
Вы пытались импортировать 'CreateMapForm' (и любые другие формы, которые вам нужны в вашей точки зрения) явно с' от maps.forms импорта CreateMapForm', а не 'от maps.forms import * '? Это должно хотя бы переместить прерывистую ошибку в импорт! – xnx
@xnx Я пробовал это, и, как вы сказали, у меня есть ImportError, но я не знаю, почему импорт работает nort. Есть идея? –
Является ли приложение 'maps' в вашем' settings.py' 'INSTALLED_APPS'? – xnx