django 用户-使用表单更改帐户信息

snz8szmq  于 2023-04-13  发布在  Go
关注(0)|答案(1)|浏览(123)

PictureUrls.py我试图创建一个负责编辑个人资料信息的网站:
Edit_profile. html文件:

{% extends 'base.html' %}


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

{% endblock %}

并且edit_profile由下式定义:

def edit_profile(request):
        if request.method =='POST':
                form = UserChangeForm(request.POST, instance=request.user)
                if form.is_valid():
                        form.save()
                        return redirect('/Nornik/profile')

        else:
                form = UserChangeForm(instance=request.user)
                args = {'form': form}
                return render(request, 'Nornik/edit_profile.html', args)

一切正常(系统未检测到任何问题),我应该能够获得以下数据:名字,第二个名字,电子邮件等,但我收到的是正常的文本,我不能编辑.示例(我收到的):登录用户名:约翰布朗
名字:john
姓氏:brown
电子邮件:j.brown@gmail.com。我在我的文件中定义了它(在www.example.com中urls.py,所有内容都正确设置了re_path('profile/edit_profile/', views.edit_profile, name='edit_profile'))。这就是为什么我认为我应该能够编辑它。关于stackoverflow的其他文章没有帮助。
谢谢你的帮助。

v7pvogib

v7pvogib1#

你的re_path没有结束锚,这意味着它匹配任何与profile/匹配的东西,即使它没有以this结束。因此你应该添加一个结束锚点$。因此你应该包括一个锚点标签,或者你可以使用**path(…)**[Django-doc]:

path('profile/', views.profile, name='view_profile'),

相关问题