请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

118.django中表单的使用方式

[复制链接]
查看: 58|回复: 0

3万

主题

3万

帖子

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
108370
发表于 2020-2-15 01:43 | 显示全部楼层 |阅读模式
表单

HTML中的表单:

畴前端来说,表单就是用来将数据提交给办事器的,不管布景利用的是django还是php等其他的说话。只要把input标签放在form标签中,然后再增加一个提交的按钮,便可以将input标签中对应的值提交给办事器。

Django中的表单:

Django中的表单丰富了传统的html说话中的表单,在Django中的表单严重有以下两个感化:

(1)衬着表单模板

(2)表单考证数据能否正当。

Django中表单利用流程:

首先我们以一个留言板为例。简单的先容一下Django中表单的利用流程。

(1)首先在项目中的APP中新建一个python文件forms.py,在forms.py文件中便可以界说我们的表单模板了。示例代码以下:
  1. from django import formsclass MessageBoard(forms.Form):    title = forms.CharField(max_length=100, min_length=2, label='题目', error_messages={'invalid': '您输入形式不正当'})    content = forms.CharField(widget=forms.Textarea, label='内容')    email = forms.EmailField(label='邮箱')    reply = forms.BooleanField(required=False, label='能否必要复兴')
复制代码
(2)在views.py文件中,利用form表单,举行考证数据能否正当,利用GET请求返回界说的Django模板页面;采取POST请求,假如考证数据正当,就获得提交上来的数据,否者的话,就返回HttpResponse提醒用户失利。示例代码以下:
  1. from django.shortcuts import renderfrom django.http import HttpResponsefrom django.views import Viewfrom .forms import MessageBoardfrom django.forms.utils import ErrorDictclass MessageBoard_view(View):    def get(self,request):        form = MessageBoard()        return render(request, 'front/index.html', context={'form': form})    def post(self,request):        form = MessageBoard(request.POST)        if form.is_valid():            title = form.cleaned_data.get('title')            content = form.cleaned_data.get('content')            email = form.cleaned_data.get('email')            reply = form.cleaned_data.get('reply')            print(title)            print(content)            print(email)            print(reply)            return HttpResponse('success')        else:            # print(type(form.errors))            #             # 打印出显现的毛病信息,字典形式显现            print(form.errors.get_json_data())            return HttpResponse('Fail')
复制代码
(3)在index.html中将Django表单举行衬着。在table标签中对我们实例化的form工具利用as_table方式便可以将我们界说在forms.py文件中各个字段衬着成table表中的tr,td标签举行显现,在form标签中写入一个submit的input标签便可以将我们在欣赏器中输入的信息采取POST请求,提交至布景,示例代码以下:
  1.         Django中表单的利用流程    [table]        {{ form.as_table }}        [tr]            [td][/td]            [td][/td]        [/tr]    [/table]
复制代码
(4)在APP中建立文件urls.py文件,举行视图与url之间的映照,示例代码以下:
  1. from django.urls import pathfrom.views import MessageBoard_viewapp_name = 'front'urlpatterns = [    path('', MessageBoard_view.as_view(), name='index'),]
复制代码
(5)在项目中的urls.py及第行主url与子url之间的映照,示例代码以下:
  1. from django.urls import path, includeurlpatterns = [    path('front/', include('front.urls')),]
复制代码
免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 WAYSFOCUS 影像 你 我 他,中国商业影视一站式解决平台 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表