Django---form表单的应用渲染

Posted shenyexiaoqingxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django---form表单的应用渲染相关的知识,希望对你有一定的参考价值。

目标:前端使用表单提交一个帖子

方法一:普通方法

1、前端表单代码

<div>
    <form class="navbar-form navbar-left" role="search" method="post">
        {%csrf_token%}
  <div class="form-group">
    <input type="text" class="form-control" name="article_title" placeholder="帖子标题">
    <input type="text" class="form-control" name="article_prief" placeholder="帖子小标题">
    <input type="text" class="form-control" name="article_content"placeholder="帖子内容">

  </div>
  <button type="submit" class="btn btn-default">提交</button>
</form>

 

2、view中新增一个视图方法:

#新增一个帖子
def add(request):
    article_title=request.POST.get(article_title,"");
    article_prief=request.POST.get(article_prief,"");
    article_content = request.POST.get(article_content, "");
    add_article=Article(article_title=article_title,article_prief_content=article_prief,article_content=article_content);--------->这是插入一篇帖子的方法
    add_article.save();


    return render(request,add.html,{
      article_title:article_title,
        article_prief:article_prief,
        article_content: article_content,

  })

 

3、调试结果:正常

技术图片

 

 

方法二:使用form表单(建议!!!)
使用form表单的意义,可以对表单进行自动校验,包括各项数据均可以在表单类中定义好,客户端只需要渲染就可以了

1、新建一个forms.py的python文件

from django import forms-------->必须引入
class login_form(forms.Form):
    username=forms.CharField(label=用户名);
    pwd=forms.CharField(label="密码");

 

2、在view中新增一个视图函数

def login_2(request):
    form_obg = forms.login_form();//必须先实例化表单
    if request.method=="POST":
        form_obg = forms.login_form(request.POST);---->将前端提交上来的字段加入表单
        if form_obg.is_valid():---------------->通过表单中定义的规则对表单的所有数据进行检查,如果检查通过,说明验证通过
            return HttpResponse("登陆成功");
    return render(request,"login2.html",{form_obj:form_obg});

 

以上是关于Django---form表单的应用渲染的主要内容,如果未能解决你的问题,请参考以下文章

Django---Form表单

django form 渲染

django form.as_table form.errors 渲染成行,不弹出

django—Form组件

[django]form不清空问题解决

17 Django Form组件