Извините, если это глупый вопрос, но я новичок в Django и не могу понять, что случилось.Приращение переменной Django в представлениях
Я хочу отобразить одну строку базы данных за другой, что должно измениться после нажатия кнопки. Цель состоит в том, чтобы перевести словарный запас и проверить, правильно ли это.
Это мое мнение:
counter = 3
def learn(request):
obj = Vokabel.objects.filter(pk=counter)
if request.method == "POST":
form=addE(request.POST)
if form.is_valid():
temp1 = request.POST.get('elearn')
for i in obj:
if temp1 == i.eVok:
counter = counter + 1
return HttpResponseRedirect('/learnnext/')
else:
return HttpResponseRedirect('/learn/')
else:
form = addE()
return render(request, 'learn.html', {'form' : form, 'obj' : obj})
И мои формы:
class addV(ModelForm):
class Meta:
model = Vokabel
fields= ['eVok', 'dVok']
class addE(forms.Form):
elearn = forms.CharField(label='Uebersetzung', max_length= 100,widget=forms.TextInput(attrs={'autocomplete':'off'}))
Однако это возвращает следующую ошибку мне:
local variable 'counter' referenced before assignment
Это не так связано с Django. Где был определен первый счетчик и какое значение увеличивается? –
И почему вы все равно увеличиваете счетчик? Вы не используете его нигде. Также подумайте о том, что произойдет, когда на вашем сайте будет несколько пользователей. –
Спасибо за совет. Однако я просто хочу, чтобы счетчик увеличивался каждый раз, когда я нажимал кнопку. В любом случае, многократное управление пользователями намного выше моего уровня мастерства. Этот vaiable счетчик, который я затем хочу использовать, чтобы извлечь evey во время записи в мою базу данных и отобразить его один за другим. @Moses Koledoye – Jonas