#python #django
Вопрос:
В классе NewEntry есть переменная под названием dis, которой присвоено значение «d». В функции create значение задается как «тест». Однако строка «тест» отображается не как «d», а как «d». Почему?
Я пробовал глобальный dis в функции, но все еще не выполнял «тест», я также пробовал его несколькими другими способами, но я не могу заставить его измениться до того, как он будет отправлен на клиентскую сторону.
class NewEntry(forms.Form):
dis = "d"
title = forms.CharField(label="Title")
title.widget = forms.TextInput(attrs={
"value": dis
})
contentArea = forms.CharField(label="Content", widget=forms.Textarea())
Эта функция должна иметь возможность задавать значение для класса.
def text(self,text):
self.dis = text
class searchEntry(forms.Form):
q = forms.CharField(label="", widget= forms.TextInput(attrs={'placeholder':'Search Encyclopedia'}))
def index(request):
return render(request, "encyclopedia/index.html", {
"entries": util.list_entries()
})
def create(request):
if request.method == "POST":
form = NewEntry(request.POST)
form.dis = "test"
if form.is_valid():
title = form.cleaned_data["title"]
contentArea=form.cleaned_data["contentArea"]
if (util.get_entry(title) is None):
messages.success(request, f'"{title}" is created!')
util.save_entry(title, contentArea)
messages.success(request, f'"{title}" is created!')
##return HttpResponseRedirect(reverse('entry',kwargs = {'title':title}))
return redirect('entry',args=[title])
else:
messages.info(request,'Title exists')
return render(request,"encyclopedia/create.html",{
"form":form
})
return render(request, "encyclopedia/create.html",{
"form":NewEntry(),NewEntry.text(NewEntry(),"test"):"test"
})