首页 > 解决方案 > 分配给函数的值未呈现

问题描述

在类 NewEntry 中,有一个名为 dis 的变量分配了值“d”。在函数 create 中,该值设置为“test”。但是,字符串“test”不是呈现而是呈现“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"
        })

标签: pythondjango

解决方案


推荐阅读