zoukankan      html  css  js  c++  java
  • 利用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))
  • 相关阅读:
    深度学习网络压缩简单介绍
    骨架提取与分水岭算法
    高级形态学处理
    iview @change添加自定义参数
    设置axios拦截器,promise抛出的异常处理
    js 网页跳转
    js 加减法
    vue重新渲染组件(重置或者更新)
    Laravel里firstOrCreate、firstOrNew、updateOrCreate 方法使用
    算法
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/9098119.html
Copyright © 2011-2022 走看看