表单处理

通常用到的数据绑定v-model=“”来进行绑定变量,

我们可以通过测试来进行验证,

常规的绑定:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <p>input 元素:</p>
  <input v-model="message" placeholder="编辑我……">
  <p>消息是: {{ message }}</p>
	
  <p>textarea 元素:</p>
  <p style="white-space: pre">{{ message2 }}</p>
  <textarea v-model="message2" placeholder="多行文本输入……"></textarea>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    message: 'Runoob',
	message2: '菜鸟教程\r\nhttp://www.runoob.com'
  }
})

我们通过输入可以看出,这样的数据是绑定的,但是我们

复选框:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <p>单个复选框:</p>
  <input type="checkbox" id="checkbox" v-model="checked">
  <label for="checkbox">{{ checked }}</label>
	
  <p>多个复选框:</p>
  <input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames">
  <label for="runoob">Runoob</label>
  <input type="checkbox" id="google" value="Google" v-model="checkedNames">
  <label for="google">Google</label>
  <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">
  <label for="taobao">taobao</label>
  <br>
  <span>选择的值为: {{ checkedNames }}</span>
</div>

<script>
new Vue({
  el: '#app',
  data: {
	checked : false,
    checkedNames: []
  }
})
</script>
</body>
</html>

我们还可以进行选项列表:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <select v-model="selected" name="fruit">
    <option value="">选择一个网站</option>
    <option value="www.runoob.com">Runoob</option>
    <option value="www.google.com">Google</option>
  </select>
 
  <div id="output">
      选择的网站是: {{selected}}
  </div>
</div>

<script>
new Vue({
  el: '#app',
  data: {
	selected: '' 
  }
})
</script>
</body>
</html>

绑定的都是双项绑定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django的表单处理机制可以通过以下步骤实现: 1. 定义表单类:在Django中,表单类是一个普通的Python类,需要继承自`django.forms.Form`类。在表单类中定义需要的表单字段和验证规则。 例如,定义一个登录表单类: ```python from django import forms class LoginForm(forms.Form): username = forms.CharField(label='用户名', max_length=100) password = forms.CharField(label='密码', widget=forms.PasswordInput) ``` 2. 渲染表单模板:使用Django模板渲染引擎来渲染表单模板。在模板中,可以使用表单类中定义的表单字段和验证规则来渲染表单。 例如,渲染一个登录表单模板: ```html <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">登录</button> </form> ``` 3. 处理表单数据:在视图函数中处理表单数据。Django提供了`request.POST`和`request.FILES`来获取表单提交的数据和文件。 例如,处理一个登录表单的视图函数: ```python from django.shortcuts import render, redirect from django.contrib.auth import authenticate, login from .forms import LoginForm def login_view(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('home') else: form.add_error(None, '用户名或密码错误') else: form = LoginForm() return render(request, 'login.html', {'form': form}) ``` 在视图函数中,首先判断请求方法是否为POST,如果是POST,则创建一个表单实例并验证表单数据。如果表单验证通过,则通过`authenticate`函数验证用户身份,并调用`login`函数登录用户。如果表单验证失败,则添加错误信息到表单实例中并重新渲染登录模板。如果请求方法为GET,则直接渲染登录模板。 4. 显示表单错误信息:在模板中显示表单错误信息。可以使用表单实例的`errors`属性来获取表单中的错误信息。 例如,在登录模板中显示表单错误信息: ```html <form method="post"> {% csrf_token %} {{ form.as_p }} {% if form.errors %} <div class="alert alert-danger"> {% for field_errors in form.errors.values %} {% for error in field_errors %} <p>{{ error }}</p> {% endfor %} {% endfor %} </div> {% endif %} <button type="submit">登录</button> </form> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值