利用django form 模块处理post请求
Posted lowmanisbusy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用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))
以上是关于利用django form 模块处理post请求的主要内容,如果未能解决你的问题,请参考以下文章
Django请求与响应(request)与(response)
四种常见的 POST 提交数据方式(application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml)(代
django 之csrfauth模块及settings源码插拔式设计