Django 4.2 复习笔记(九)Django Forms 使用表单
在web日常中表单是必不可少的,处理数据的输入与交互在web站点中是非常重要的,Django提供了一系列的工具和库来帮助您构建表单来接收网站访客的输入,然后处理以及响应这些输入。
HTML表单
表单在HTML使用``标签包围,它包括很多表单标签,例如输入框、单选和多选框、文本输入域等,处理表单是通过get或post方法来传输数据,在表单的action中指定一个URL,数据会提交到这个URL来进行响应,其中get会明文以键值方式,通过URL地址来发送表单中的数据。
使用Django的表单
Django中使用表单是非常简单的,甚至可以不用去写任何的HTML,Django封装大量的常用表单,只需要配置表单的相关选项即可使用。
构建Form 类
在使用Django表单前需要创建相关表单的类,例如:
from django import forms
class ArticleForm(forms.Form):
title = forms.CharField(label="title", max_length=100)
content = forms.CharField(widget=forms.Textarea(attrs={'rows':'5'}))
引入Django表单类forms,创建表单类,创建字段并设置字段的属性和widget,上边定义了两个字段。
视图中使用表单
def test_form(request):
if request.method == 'POST':
form = ArticleForm(request.POST)
if form.is_valid():
return HttpResponseRedirect("/show/")
else:
form = ArticleForm()
return render(request, "test_form.html", {'form': form})
def show(request):
if request.method == "POST":
# print(request.POST)
title = request.POST.get('title')
content = request.POST.get('content')
return HttpResponse("title:"+title+"</br>content:"+content)
test_form负责创建表单,form = ArticleForm({'title':'11','content':'222'})可以预填充表单的内容。
show用来响应并接收表单发来的数据,用来展示数据。
设置路由
path("test_form/", views.test_form, name="test_form"),
path("show/", views.show, name="show"),
然后运行Django的服务器,打开http://127.0.0.1:8000/myapp/test_form/,提交数据,在show的页面显示数,类似下边:
title:11
content:222
总结
至此,一个表单的完整使用就基本设置完成,表单类和飙到的小部件还有很多的属性,这里就不一一介绍了,可以参考下边的网址。
参考网站:
标签: Django
相关文章
- Django 4.2 复习笔记(九)使用Django的上下文处理器(context processor)
- 如何单独使用Django ORM 在非Django项目中使用Django ORM?
- Django 4.2 复习笔记(八)Django 模板语言语法
- Django 4.2 复习笔记(七)Django 模板(TEMPLATES)
- Django 4.2 复习笔记(六)Django的路由
- SQLAlchemy的关系字段和Django的关系字段他们的不同点。
- Django 4.2 复习笔记(五)Django中常见的关系字段及其示例
- Django 4.2 复习笔记(四)数据的查询Django的ORM
- Django 4.2 复习笔记(三)Model模型字段
- Django 4.2 复习笔记(二)编写和调试Model模型
- Django 4.2 复习笔记(一)迅速概览