美文网首页
View 处理用户通过表单提交的数据

View 处理用户通过表单提交的数据

作者: 叶田的学习笔记 | 来源:发表于2018-10-16 16:02 被阅读0次

用户修改个人资料的常见视图views.py

from django.shortcuts import render, get_object_or_404
from django.contrib.auth.models import User
from .forms import ProfileForm
from django.http import HttpResponseRedirect
from django.urls import reverse

def profile_update(request, pk):
    user = get_object_or_404(User, pk=pk)
   
    if request.method == "POST":
        form = ProfileForm(request.POST)

        if form.is_valid():
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.save()

            return HttpResponseRedirect(reverse('users:profile', args=[user.id]))
    else:
        default_data = {'first_name': user.first_name, 'last_name': user.last_name,
                    }
        form = ProfileForm(default_data)

    return render(request, 'users/profile_update.html', {'form': form, 'user': user})

① 我们先从url获取user的主键pk(id), 利用get_object_or_404方法获取需要修改个人资料的用户对象user。

② 当用户通过POST方法提交个人资料修改表单,我们利用is_valid()方法先验证表单ProfileForm的数据是否有效。如果有效,我们将更新过的first_name和last_name数据存入user对象。更新成功返回个人信息页。

③ 如果用户没有提交表单或不是通过POST方法提交表单,我们先获取现有数据生成default_data,利用ProfileForm显示。

相关文章

  • View 处理用户通过表单提交的数据

    用户修改个人资料的常见视图views.py ① 我们先从url获取user的主键pk(id), 利用get_obj...

  • 表单,FormData 对象

    表单概述 表单( )用来收集用户提交的数据,发送到服务器。比如,用户提交用户名和密码,让服务器验证,就要通过表单。...

  • SpringMVC-接收表单数据的方式

    前台提交表单数据到后台进行处理 form 表单提交数据,get方法会将数据通过请求url方式向后台传送,post方...

  • FormData

    表单,FormData 对象 表单概述 表单用来收集用户提交的数据,发送到服务器 表单提交 1. 提交 表单里...

  • Django(七)表单与模型

    表单的作用是实现网页上的数据交互,用户在网站输入数据信息,提交到网站服务器进行处理。用户表单是web开发的一项基本...

  • GET表单提交/POST表单提交/数据交互/ node 垃圾回收

    GET表单提交 POST表单提交 同时处理get与post请求 数据交互 HTML 数据库 扩展

  • HTML表单的用法

    表单是一个包含表单元素的区域,而表单元素是运行用户在表单中输入信息的元素。通过表单,用户可以向服务器提交数据,而服...

  • 第三十八章 构建数据库应用程序 - 处理表单提交请求

    第三十八章 构建数据库应用程序 - 处理表单提交请求 除了在表单中显示对象的内容外,前面的示例还在用户通过单击Sa...

  • Django表单

    HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。 HTTP 请求...

  • Django 表单

    HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。 HTTP 请求 ...

网友评论

      本文标题:View 处理用户通过表单提交的数据

      本文链接:https://www.haomeiwen.com/subject/ckphzftx.html