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});

猜你喜欢

转载自www.cnblogs.com/shenyexiaoqingxin/p/10676090.html