在 Django 中,我无法保存模型的新内容

Posted

技术标签:

【中文标题】在 Django 中,我无法保存模型的新内容【英文标题】:In Django I can't save my model's new content 【发布时间】:2012-05-21 05:05:17 【问题描述】:

再一次,我在 django 中遇到了一个小问题。但至少你们帮助我更好地理解事情。

这是我的看法:

def editUserprofile(request):
rc = context_instance=RequestContext(request)
u=request.user
if request.method=='POST':
    form = UserProfileEdit(request.POST, request.FILES)
    if form.is_valid():
        u = UserProfile.objects.get(user=u)
        u.avatar = request.FILES['avatar']
        u.first_name = form.cleaned_data['first_name']
        u.last_name = form.cleaned_data['last_name']
        u.email = form.cleaned_data['email']
        u.country = form.cleaned_data['country']
        u.date_of_birth = form.cleaned_data['date_of_birth']
        u.save()
        return HttpResponseRedirect("/editprofile")

else:
    u = UserProfile.objects.get(user=u)
    form = UserProfileEdit()
return render_to_response('users/editprofile.html',
                         'form':form, 'u':u,
                         rc)

没有错误,但我的模型没有被修改。这也是我的模板:

    <form method="POST" action=".">
    % csrf_token %

    % if u.avatar %
        <img src=" MEDIA_URL  u.avatar "  />
    % else %
        <p>You have no avatar</p>
    % endif %
        <p>Change Avatar: form.avatar</p>
    <br />
    % if u.first_name %
        <p>First Name: u.first_name</p>
    % else %
        <p>First Name: No first name added </p>
    % endif %
        <p>Modify:form.first_name</p>
    <br />
    % if u.last_name %
        <p>Last Name: u.last_name</p>
    % else %
        <p>Last Name: No last name added </p>
    % endif %
        <p>Modify:form.last_name</p>
    <br />
    % if u.email %
        <p>Email:  u.email </p>
    % else %
        <p>Email: No email added</p>
    % endif %
    <p>Modify: form.email </p>
    <br />

    % if u.date_of_birth %
        <p>Date of birth:  u.date_of_birth 
    % else %
        <p>Date of birth: No birthday added </p>
    % endif %
    <p>Modify:form.date_of_birth</p>
    <br />

    % if u.country %
        <p>Country:  u.country </p>
    % else %
        <p>Country: No Country added</p>
    % endif %
    <p>Modify:form.country</p>
    <br />

    <input type="submit" value="Save Changes">
</form>

希望你们能帮帮我..!

【问题讨论】:

不...谢谢:D 将其发布为答案 【参考方案1】:

form.is_valid() 是否在您的表单验证中为真?

【讨论】:

以上是关于在 Django 中,我无法保存模型的新内容的主要内容,如果未能解决你的问题,请参考以下文章

如何保存具有多个图像的 django 模型?

如何将 NamedTemporaryFile 保存到 Django 中的模型 FileField 中?

Django 模型窗体

Django 1.11 如何从保存在 CMS 站点模型中的 HTML 中显示模板变量

Django——模型基础

无法使用 pre_save 信号在 django 模型中保存相关对象