表单验证

表单验证免费看

如何用form表单验证实现一个评论功能,其思路和步骤分别是什么

2019-07-29侠课岛    初级拔高       

后端/Python/Django框架使用入门 11     0     752

Django有一个form类为我们提供了强大的表单验证提交。 我们可以通过一个form类来确定我们表单中需要的填写的内容,然后再前端用{{form}}直接渲染我们需要的表格。讲起来可能有点复杂,但是我们的课程还剩一个评论功能,我们用这个例子来讲解form。 首先我们需要确定一个思路,就是在同学评论了课程之后,会自动刷新展现同学评论的内容。前端会渲染出评论内容,那么久意味着有一条urls传递一个人视图函数,既然有一个视图函数,就应该要从数据库中获取数据,而数据库中要存有评论的数据,就需要建立一个评论模型。

1、建立form

我们需要建立一个form类来提交同学们的评论。这个form我们放到models.py中,在models.py中添加:

from django import forms
class commentform(forms.Form):
    name = forms.CharField(label='您的姓名', max_length=100)
    email = forms.EmailField(label='您的邮箱')
    commentscontent = forms.CharField(label='您的评论',widget=forms.Textarea)

我们的表单内容有姓名,邮箱,以及评论内容。 表单也有许多字段,类似于模型字段,详情可以参考官方文档:https://docs.djangoproject.com/en/2.0/ref/forms/fields/

2、建立一个评论models

我们建立一个评论models是为了储存我们的表单的内容,储存到数据库中,方便视图函数渲染到前端。 在models.py中添加:

models.py
class comments(models.Model):
    name = models.CharField(u'您的姓名', max_length=100)
    email = models.EmailField(u'您的邮箱')
    commentscontent = models.TextField(u'您的评论',default ='')
    commentpubtime = models.DateTimeField(u'评论时间',auto_now_add=True, editable = True)
    class Meta:
        verbose_name = "评论"
        verbose_name_plural = "评论"
    def __str__(self):
        return self.name

有三个字段跟表单类是一样的,但是多了一个评论时间。这个字段是自动生成的,前端提交表单,便生成这个时间。

修改:admin.py,让后台显示评论表格:

from django.contrib import admin
# Register your models here.
from .models import *
class xkdclassadmin(admin.ModelAdmin):
    list_display = ('classname','classauthor','classabstract','classpreview','classkeywords','classcovers','classcontent','classpubtime',)
admin.site.register(xkdclass,xkdclassadmin)

class commentadmin(admin.ModelAdmin):
    list_display = ( 'name' , 'email', 'commentscontent', 'commentpubtime')
admin.site.register(comments,commentadmin)

admin.site.site_header = "侠课岛后台管理系统" 

form1

3、迁移数据库

迁移数据库:

python manage.py makemigrations
python manage.py migrate

会在数据库中生成评论表格。

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

11

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录


本文索引


|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?