亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 表單未顯示正確的字段

Django 表單未顯示正確的字段

函數式編程 2023-10-17 15:54:52
讓用戶更改信息字段的 django 表單應該讓他們更改用戶名、電子郵件、姓名和姓氏,但它會顯示他們的國籍、性別、應用得分和生日。views.pydef  profileedit_view(request):    if request.method== 'POST':        form= PerfilEditadoForm(request.POST, instance = request.user)        if form.is_valid():            form.save()            return redirect('login')        else:            form= PerfilEditadoForm(instance=request.user)            args= {'form': form}            return render(request, 'profileedit', args)    form = UsuarioForm(request.POST or None)    if form.is_valid():        form.save()    context = {        'form': form    }    return render(request, "profileedit.html", context)forms.pyclass PerfilEditadoForm(UserChangeForm):    class Meta:        model = User        fields= ('email', 'username', 'first_name', 'last_name')profileedit.py<form method="POST" action="#"> {% csrf_token %}        <p>        {{ form.as_ul }}        <button class="btn btn-primary py-1 px-2" type="submit" > Save </button>        </p>        </form>
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

您的表單正在被覆蓋form = UsuarioForm(request.POST or None)。假設您要顯示的字段屬于 PerfilEditadoForm,您應該將該行更改為form = PerfilEditadoForm(request.POST or None)。


我的建議是將該特定行移到if request.method== 'POST':. 就像是


def  profileedit_view(request):

    form= PerfilEditadoForm(request.POST or None)

    if request.method== 'POST':

        form.instance = request.user

        if form.is_valid():

            form.save()

            return redirect('login')

        else:

            form= PerfilEditadoForm(instance=request.user)

            args= {'form': form}

            return render(request, 'profileedit', args)


    context = {

        'form': form

    }

    return render(request, "profileedit.html", context)


查看完整回答
反對 回復 2023-10-17
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

在 forms.py 中更改括號 - 使用 [] 而不是 ()


class PerfilEditadoForm(UserChangeForm):

    class Meta:

        model = User

        fields= ['email', 'username', 'first_name', 'last_name']


查看完整回答
反對 回復 2023-10-17
  • 2 回答
  • 0 關注
  • 159 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號