首页 > 其他分享 >Ajax的案例-任务管理

Ajax的案例-任务管理

时间:2023-10-27 12:13:52浏览次数:33  
标签:__ name models 任务 案例 Ajax app01 import verbose

任务添加(一)

首先为该页面创建一个表

编辑myproject/app01/models.py

class Task(models.Model):
    """任务"""

    level_choices = (
        (1, "紧急"),
        (2, "重要"),
        (3, "临时"),
    )
    level = models.SmallIntegerField(verbose_name="级别", choices=level_choices, default=1)
    title = models.CharField(verbose_name="标题", max_length=64)
    detail = models.TextField(verbose_name="详细信息")
    user = models.ForeignKey(verbose_name="负责人", to=Admin, on_delete=models.CASCADE)

更新

makemigrations
migrate

编辑myproject/app01/views/task.py

import json
from django.shortcuts import render,HttpResponse
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt

from app01 import models
from app01.utils.bootstrap import BootStrapModelForm

class TaskModelForm(BootStrapModelForm):
    class Meta:
        model = models.Task
        fields = "__all__"

def task_list(request):
    """任务列表"""
    form = TaskModelForm()
    return render(request, "task_list.html", {"form": form})

@csrf_exempt
def task_ajax(request):
    #GET请求
    print(request.GET)
    #POST请求
    print(request.POST)

    data_dict = {"status": True, 'data': [11,22,33,44]}
    return HttpResponse(json.dumps(data_dict))

    # json_string = json.dumps(data_dict)
    # return HttpResponse(json_string)

    # return JsonResponse(data_dict)

  

 编辑myproject/app01/templates/task_list.html

        <div class="panel panel-default">
            <div class="panel-heading">表单</div>
            <div class="panel-body">

                <form method="post" novalidate>
                    {% for field in form %}
                        <div class="form-group">
                            <label>{{ field.label }}</label>
                            {{ field }}
                        </div>
                    {% endfor %}

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

            </div>
        </div>

 浏览器看下效果吧

 detail详细信息默认是Textarea框,如果想修改为TextInput框,编辑myproject/app01/views/task.py

class TaskModelForm(BootStrapModelForm):
    class Meta:
        model = models.Task
        fields = "__all__"
        widgets = {
            "detail":forms.TextInput
        }

  

 

 问题出现了,负责人应该是一个用户

 解决办法:编辑myproject/app01/models.py

class Admin(models.Model):
    """管理员表"""
    username = models.CharField(verbose_name="用户名", max_length=32)
    password = models.CharField(verbose_name="密码", max_length=64)

    def __str__(self):
        return self.username

  

 

 

接下来实现将添加的数据发送到后台

 

标签:__,name,models,任务,案例,Ajax,app01,import,verbose
From: https://www.cnblogs.com/kekeeleven/p/17791964.html

相关文章

  • Python用正则化Lasso、岭回归预测房价、随机森林交叉验证鸢尾花数据可视化2案例
    机器学习模型的表现不佳通常是由于过度拟合或欠拟合引起的,我们将重点关注客户经常遇到的过拟合情况。过度拟合是指学习的假设在训练数据上拟合得非常好,以至于对未见数据的模型性能造成负面影响。该模型对于训练数据中没有的新实例的泛化能力较差。复杂模型,如随机森林、神经网络和X......
  • 向上管理的两个职场案例
    之前分享过很多职场成长的内容,其中也聊了很多关于向上管理工作汇报的个人经验,最近好几个同学在公众号后台留言咨询,有没有比较实际的向上管理案例可以分享,想参照学习一下。正好,这几天在技术交流群和知识星球内部,遇到了几个典型的案例。这篇文章我会以遇到的这两个案例为例,为大家......
  • 应用案例|基于三维机器视觉的曲轴自动化上下料应用方案
    Part.1 项目背景此案例服务对象为国内某知名大型汽车零部件制造工厂,该工厂有针对曲轴工件的自动化上下料需求。由于之前来料码放不规范,工件无序散乱摆放,上料节拍要求高,该工厂上下料效率极低。Part.2 传统曲轴上下料存在的缺陷传统此工位的曲轴工件上下料由人工完成,这种上下料方式......
  • Django实战项目-学习任务系统-任务管理
    接着上期代码框架,开发第3个功能,任务管理,再增加一个学习任务表,用来记录发布的学习任务的标题和内容,预计完成天数,奖励积分和任务状态等信息。 第一步:编写第二个功能-用户注册1,编辑模型文件:./mysite/study_system/models.py:classStudyTask(models.Model):task_id=mod......
  • JS异步任务的并行、串行,以及二者结合
    让多个异步任务按照我们的想法执行,是开发中常见的需求。今天我们就来捋一下,如何让多个异步任务并行,串行,以及并行串行相结合。 一、并行并行是使用最多的方式,多个相互间没有依赖关系的异步任务,并行执行能够提高效率。我们最经常用的,是Promise.all()。functionf1(){......
  • 软考系列(系统架构师)- 2014年系统架构师软考案例分析考点
    试题一软件架构(MYC架构、扩展接口模式)MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模......
  • AJAX学习(三)
    一、AJAX原理-XMLHttpRequest(1)定义及原理定义:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。AJAX的原理也就是XMLHttpRequest对象(下文简称XHR)注......
  • 应用案例|基于三维机器视觉的机器人引导电动汽车充电头自动插拔应用方案
    Part.1 项目背景人类对减少温室气体排放、提高能源效率以及减少对化石燃料的依赖,加速了电动汽车的普及,然而,电动汽车的充电依然面临一些挑战。传统的电动汽车充电通常需要人工干预,插入和拔出充电头,这不仅可能导致操作错误,还会引起不必要的延误。为了解决以上痛点,自动化充电技术应运......
  • Ajax请求--Ajax的使用与案例
    浏览器向网站发送请求时:以URL和表单的形式提交GETPOST特点:提交时页面会刷新除此之外,也可以基于Ajax向后台发送请求(页面不会刷新,只局部更新)依赖jQuery编写Ajax代码$.ajax({ url:"发送的地址", type:"get", data:{ n1:123, n2:456 }, success:function(res){......
  • 邮件诈骗钓鱼 - 密码到期通知 案例
    诈骗发送方:Microsoftaccountteam<[email protected]>##############您的密码将于今天到期如果您想继续使用当前密码,请确认。继续使用当前密码【跳转诈骗钓鱼网页,请勿点击!!】注:为避免登陆中断,您必须立即采取行动。【恐吓用户点击更改密码】###......