django之Form组件--ajax提交

如果想要ajax提交数据到django后台,对页面进行跳转,需要在ajax 中进行跳转,在后台进行跳转不生效

示例代码

views部分

rom django.shortcuts import render, redirect, HttpResponse

# Create your views here.
from day60app.form_cls import AForm
import json
from django.forms.utils import ErrorDict

def ajax(request):
    if request.method == "GET":
        obj = AForm()
        return render(request, "ajax.html", {"obj": obj})
    elif request.method == "POST":
        obj = AForm(request.POST)
        ret = {"status": None, "message": None}
        print("31----", obj)

        if obj.is_valid():
            ret["status"] = "成功"
            print("35", ret)
            return HttpResponse(json.dumps(ret))
        else:
            # err = obj.errors
            ret["message"] = obj.errors
            return HttpResponse(json.dumps(ret))

from 部分

from django.forms import Form
from django.forms import widgets
from django.forms import fields
from django.forms.models import ModelChoiceField
from day60app import models

class AForm(Form):
        user_id = fields.IntegerField(
            widget=widgets.Select(choices=[(1, "赖英"), (2, "春云"), (3, "星星")])
    )
        age = fields.IntegerField()

前端页面部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form id="fm" action="/ajax/" method="post" novalidate>
        {{ obj.as_p }}

        <input type="button" value="ajax提交" id="but">

    </form>
    <script src="/static/jquery-3.1.1.js"></script>

    <script>
        $(function () {
            $("#but").click(function () {
                $.ajax({
                    url:"/ajax/",
                    type:"POST",
                    data:$("#fm").serialize(),
                    dataType:"JSON",
                    success:function(arg){
                        console.log("26----",arg);
                        if (arg["status"] == "成功"){
                            window.location.href = "http://www.jd.com"

                        }
{#                        else:#}

                    }

                })
            })
        })

    </script>
</body>
</html>
时间: 2024-08-06 23:48:53

django之Form组件--ajax提交的相关文章

Python之路【第二十一篇】:Django之Form组件

Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from django.forms import Form from django.forms import widgets from django.forms imp

【Django】Form组件

目录 Form组件介绍 常用字段与插件 Form组件中所有内置字段 从数据库中获取数据 校验示例 检验手机号是否合法 方式一(基本操作) 方式二(自定义验证规则) 方式三(利用钩子) 验证密码一致性 钩子 局部钩子 全局钩子 进阶 批量添加样式 ModelForm Form套Form @ *** Form组件介绍 在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,

django之form组件、cookie、session

django之form组件.cookie.session django form组件 1.渲染标签 2.校验数据 3.展示信息 校验数据 # 第一步需要一个form类 from django import forms class MyForm(forms.Form): name = forms.CharField(max_length=8) password = forms.CharField(max_length=8,min_length=3) email = forms.EmailField

JavaWeb开发中form、ajax提交数据Model转化

JavaWeb开发中form.ajax提交数据Model转化 问题 最近学习MongoDB数据库,作为java开发的我,当然需要做个小的web程序来测试一番了.在html中我采取ajax提交方式,因为我要模拟各种类型的数据,基础数据类型.数组.对象等.然而,最终发现了个不同的地方:Form和ajax提交数据,在HttpServletRequest中尽然参数名有所不同. 数据类型 form ajax 基础数据 para=value para=value 数组 para[]={"aaa",

将form转为ajax提交的js代码

在html中插入下面的代码: 函数ajaxSubmit是submit的ajax形式. 注意:这里面使用到了jquery库 //<!--将form中的值转换为键值对.--> function getFormJson(frm) { var o = {}; var a = $(frm).serializeArray(); $.each(a, function () { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this

jsp不通过form和Ajax提交

在页面里面我们一般都通过form表单和Ajax向后台提交请求,可是我现在页面没有form表单,也不想通过ajax异步提交. 解决方案如下:location.href="${rootPath}/record/exportScanningDetailExcel.htm?allRecordIds="+allRecordIds;  (当前页面打开URL页面) jsp不通过form和Ajax提交

jdango 项目试炼blog(3)--基于Form组件ajax用户注册

1.利用form组件建立form组件 from app01.models import UserInfo from django import forms from django.forms import widgets from django.core.exceptions import ValidationError class UserFrom(forms.Form): #固定格式 user = forms.CharField(max_length=32,label='用户名', # 设置

Django 之 Form 组件

常用功能 From 组件主要有以下几大功能: 生成 HTML 标签 验证用户数据(显示错误信息) HTML Form 提交保留上次提交数据 初始化页面显示内容 小试牛刀 下面我们通过 Form 组件来生成 HTML 标签和验证用户提交的数据以及保留上次提交的数据. 创建 Form 类 form_verify.py from django import forms from django.forms import fields class FormVerify(forms.Form): user

Django之Form组件

Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( widget=widgets.Tex