在Django中提供了了form表单,可以更为简单的创建表单模板信息,简化html的表单。
表单通常用来作为提交数据时候使用。
在项目文件夹下创建一个template文件夹,用于存储所有的html模板文件。
User Name
填写项目的相对路径即可。
在app中views.py文件中添加响应函数:
def get_person(request):
"""method of re match"""
return render(request,"person.html")
在urls.py添加路由设置
urlpatterns = [
path('test/2023', serverapp_views.test), # 精确匹配
path('converter/', serverapp_views.converter), # 格式转换
re_path(r'^re/(?P[0-9]{1,4})/$', serverapp_views.rematch), # 正则表达式,通过添加起止符限制匹配,避免中间多级路径后匹配到,造成错误匹配。
path('person', serverapp_views.get_person), # 获取人员信息
]
直接浏览器通过“http://127.0.0.1:8000/serverapp/person” 访问:
定义的属性就对应表单中的每一项。
# _*_ coding:utf-8 _*_
from django import forms
class PersonForm(forms.Form):
"""人员表单类"""
name = forms.CharField(label="name", max_length=10)
phone = forms.CharField(label="phone", max_length=11)
User Name
通过路由处理函数可以对访问信息进行识别,获取表单的基本信并进行处理。
def get_personform(request):
"""method of re match"""
if request.method == "POST":
# 获取表单
form = PersonForm(request.POST)
# 判断是否为有效表单
if form.is_valid():
# 使用cleaned_data获取请求数据
name = form.cleaned_data["name"]
phone = form.cleaned_data["phone"]
# 返回数据
return HttpResponse(f"Data is :\r\n name:{name}\r\nphone:{phone}")
else:
return HttpResponseRedirect("/error/")
# Get方法访问
else:
# 重定向到登录表单页面
return render(request, "personform.html", {'personform':PersonForm()})
from django.urls import path,re_path
from serverapp import views as serverapp_views
urlpatterns = [
path('test/2023', serverapp_views.test), # 精确匹配
path('converter/', serverapp_views.converter), # 格式转换
re_path(r'^re/(?P[0-9]{1,4})/$', serverapp_views.rematch), # 正则表达式,通过添加起止符限制匹配,避免中间多级路径后匹配到,造成错误匹配。
path('person', serverapp_views.get_person), # 获取人员信息
path('personform', serverapp_views.get_personform), # 使用表单获取人员信息
]
放到后直接获取到表单模板。
输入后提交数据: