利用django form 模块处理post请求

在django框架中,利用 form 模块处理post请求提交的数据,可以大大提高开发效率,减小代码冗余度,提高性能

models.py 中:

from django.db import models

TITLE_CHOICES = (
    (‘MR‘, ‘Mr.‘),
    (‘MRS‘, ‘Mrs.‘),
    (‘MS‘, ‘Ms.‘),
)

class Author(models.Model):
    name = models.CharField(max_length=100)
    title = models.CharField(max_length=3, choices=TITLE_CHOICES)
    birth_date = models.DateField(blank=True, null=True)

    def __unicode__(self):
        return self.name

class Book(models.Model):
    name = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)

自定义的form.py文件


from django.forms import ModelForm
class AuthorForm(ModelForm):
    class Meta:     # 绑定模型
        model = Author     # 忽略该字段,将其排除出处理范围之内     exclude = (‘birth_date‘,)

class BookForm(ModelForm):
    class Meta:     # 绑定模型
        model = Book

views.py中

def testModelForm(request):
#    a=Author.objects.get(pk=1)
#    form=AuthorForm(instance=a)
    form=AuthorForm()
    if request.method==‘POST‘:
        form=AuthorForm(request.POST)     # 如果创建form对象成功,则将数据保存
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse(‘welcome‘))
    return render_to_response(‘testModelForm.html‘,locals(),RequestContext(request))

原文地址:https://www.cnblogs.com/lowmanisbusy/p/9098119.html

时间: 2024-07-28 21:18:51

利用django form 模块处理post请求的相关文章

Django form模块使用心得

最近用Django 写了一个网站,现在来分享一下对Django form 的一些心得. 一,创建一个表单 创建一个Form表单有两种方式: 第一种方式是继承于forms.Form,的一个子类,通过在form中选择你需要的类型来规定表单之 中字段的类型 Java代码   class ContactForm(forms.Form): subject = forms.CharField(max_length=100) message = forms.CharField(required=False)

利用python httplib模块 发送Post请求测试web服务是否正常起来!

最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触这块不久属于菜鸟级别,所以在任务之前,只能上网把基于post请求的web监控了解清楚,这些资料网上很多,因为本人认为完成这类任务最重要的就是要将实现的原理研究清楚,写程序只是实现的工具,如果大的逻辑不正确,后面的都是白忙活. 了解post发送请求的原理后,利用Python的httplib模块进行逻辑

django Form模块实例(二)

直接上代码: models.py from django.forms import ModelForm from django.db import models TITLE_CHOICES = (     ("MR","Mr.'),     ("MRS","Mrs."),     ("MS",'Ms."), ) class Author(models.Model):     name = models.Ch

【Django】Django—Form两种解决表单数据无法动态刷新的方法

一.无法动态更新数据的实例 1. 如下,数据库中创建了班级表和教师表,两张表的对应关系为"多对多" 1 from django.db import models 2 3 4 class Classes(models.Model): 5 title = models.CharField(max_length=32) 6 7 8 class Teacher(models.Model): 9 name = models.CharField(max_length=32) 10 t2c = mo

6月28日 Django form表单

Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通的登录 views.p

Django Form和ModelForm组件

Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 vi

Django Form and ModelForm

Form介绍 在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.

利用 Django REST framework 编写 RESTful API

利用 Django REST framework 编写 RESTful API Updateat 2015/12/3: 增加 filter 最近在玩 Django,不得不说 rest_framework 真乃一大神器,可以轻易的甚至自动化的搞定很多事情,比如: 自动生成符合 RESTful 规范的 API 支持 OPTION.HEAD.POST.GET.PATCH.PUT.DELETE 根据 Content-Type 来动态的返回数据类型(如 text.json) 生成 browserable

django forms模块使用

通过django froms模块生成html input标签 首先在当前应用下创建一个forms.py的文件 vim forms.py from django import forms def  forms.AdminForm(forms.Form): username = forms.CharField() #生成明文的输入框 password = forms.CharField(widget=forms.widgets.PasswordInput) #生成一个密文显示的输入框 passwor