在Djang编辑个人资料

2024-10-17 06:16:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个web应用程序,允许用户编辑个人资料中的某些字段。应用程序使用Django表单来更新信息。但是,当用户输入新信息时,会将用户发送回其配置文件,但信息保持不变。下面是我如何实现这个功能的。你知道吗

表格

class UpdateProfile(forms.ModelForm):
    age = forms.IntegerField(required=False)
    height = forms.IntegerField(required=False)
    weight = forms.IntegerField(required=False)

    class Meta:
        #Here are the fields that i want editable
        model = User
        fields = ('age', 'height', 'weight')

视图

def update_profile(request):
    args = {}

    if request.method == 'POST':
        form = UpdateProfile(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('account/profile.html'))

    else:
        form = UpdateProfile()
        args['form'] = form
        return render(request, 'account/edit_profile.html', args)

HTML

{% block body %}
    <div class="container">
        <form method="POST" action=".">
            {% csrf_token %}
            {{ form.as_p }}
            <button type="submit">Submit</button>
        </form>
        <br>
    </div>
{% endblock %}

Tags: 用户form信息false应用程序agerequestrequired