Ich weiß, dass dieses Thema in Stackoverflow viele Male gesprochen wird, aber es betrifft viele verschiedene Methoden und ich brauche Hilfe. Ich bin stecken seit 4 Stunden ^^‘Python/Django - Lokale Variable vor der Zuweisung
Hier ist die Botschaft: lokale Variable‚menuItem referenzierten‘vor der Zuweisung
def B2BpartnerMenuDetailModify(request, partnerId, menuId, menuItemId):
message = ''
e = B2BpartnerUser(request, partnerId)
try:
menuDetail = Menu.objects.get(id=menuId)
except Menu.DoesNotExist:
return logoutUser(request)
if request.method == 'POST':
form = MenuDetailForm(request.POST, mySelf=partnerId)
if form.is_valid():
descrShort = form.cleaned_data['descrShort']
paragraph = form.cleaned_data['paragraph']
producteur = form.cleaned_data['producteur']
position = MenuItem.objects.filter(menuId = menuDetail).filter(paragraph = paragraph).count() + 1
menuItem = MenuItem(menuId = menuDetail)
menuItem.descrShort = descrShort
menuItem.paragraph = paragraph
menuItem.producteur = producteur
menuItem.save()
if producteur > 0:
menuItemProd = MenuItemProd(menuItemId = menuItem)
menuItemProd.entrepriseId = producteur
menuItemProd.save()
message = _('Details modified successfuly')
else:
data = {'descrShort': menuItem.descrShort, 'paragraph': menuItem.paragraph, 'producteur': menuItem.producteur}
form = MenuDetailForm(initial=data)
menuItems = MenuItem.objects.filter(menuId = menuDetail).select_related()
menus = Menu.objects.filter(entrepriseId=e)
menuParagraph = MenuParagraph.objects.filter(actif=1)
modifier = True
#detail = False
return render (request, 'front/B2Bmenu.html', {'MenuDetailForm': form, 'menus': menus, 'message': message, 'partnerId': partnerId, 'modifier': modifier, 'detail': detail, 'menuDetail': menuDetail, 'menuParagraph': menuParagraph, 'menuId': menuId, 'menuItems': menuItems})
Ich bin sicher, ich kann meine Seite bekommen, wenn dieser Fehler behoben ist . Ich bin sicher, dass es ein kleiner Fehler, ich bin ein Anfänger in Python, aber ich liebe die Sprache :)
Wenn Sie wollen, kann ich Ihnen mehr Details geben, aber ich glaube nicht, dass es notwendig ^^
Einen schönen Tag und danke für deine Hilfe :)
Ihr 'else' Block greift auf' menuItem' zu, das nur im 'if' Block definiert ist. Wie erwarten Sie, dass dies funktioniert? –