Django CreateView 简单使用
2024-08-27 16:21:23
django.views.generic中的CreateView类,是基于View的子类。CreateView可以简单快速的创建表对象。
下面记录小作代码。
# polls/views.py from django.views.generic import CreateView class QuestionCreate(CreateView):
form_class = QuestionForm # 表类
template_name = 'polls/question_form.html' # 添加表对象的模板页面
success_url = '/polls/thanks' # 成功添加表对象后 跳转到的页面 def form_invalid(self, form): # 定义表对象没有添加失败后跳转到的页面。
return HttpResponse("form is invalid.. this is just an HttpResponse object")
# polls/forms.py from django.forms import ModelForm
from polls.models import * class QuestionForm(ModelForm):
class Meta:
model = Question
fields = '__all__'
# polls/models.py from django.db import models class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published') def __unicode__(self):
return self.question_text + '\n' + str(self.pub_date)
# polls/question_form.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <form method="post">
{% csrf_token %}
{{ form.as_p }} # {{ form.as_p }}会按QuestionForm中 Meta的fields的列表,列出需要添加的字段。
<input type="submit" value="Submit" />
</form> </body>
</html>
# polls/thanks.html <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Thanks</title>
</head>
<body>
Thanks!
</body>
</html>
# polls/urls.py from django.conf.urls import url
from . import views urlpatterns = [ url(r'^questioncreate/$', views.QuestionCreate.as_view(), name='QuestionCreate'), ]
QuestionCreate继承了CreateView, form_class指定了表单QuestionForm, QuestionForm指定了数据表Question, template_name指定了添加表对象的模板, success_url指定了添加表对象成功后跳转的页面,
最新文章
- shutdown的简单小应用
- LogStash的Filter的使用
- Struct Member Default Value
- 三层架构下的EntityFramework codefirst
- Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录
- [转]Performance Analysis Using SQL Server 2008 Activity Monitor Tool
- 后Hadoop时代的大数据架构(转)
- c#带参数和返回值的函数 开启线程调用的方法
- 创建、显示和删除保存的用户名和密码(cmdkey)
- SVN - 基础知识
- 安装完 MySQL 后必须调整的 10 项配置
- Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析
- 什么是Intent(意图)
- SQL函数学习(三):convert()函数
- Ubuntu14.04下搭建VPN服务
- Elasticsearch索引和文档操作
- 第十八章 DjangoWeb开发框架
- 机器学习之朴素贝叶斯&;贝叶斯网络
- FeatureTools
- selenium自动加载各个浏览器插件