栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django对数据库的增删改查

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django对数据库的增删改查

Django对数据库的增加 先创建一个HTML文件---add.html



    
    Title


{% csrf_token %} 添加商品 {#name=""是为了获取表单里面的值#} 名字:

年龄:

性别:男 女

分数:

在子应用的views里写添加视图
# 类视图---添加数据模板
class AddView(View):
    def get(self, request):
        return render(request, "add.html")

    def post(self, request):
        #变量名=request.POST.get("表单里定义的变量") 是为了获取表单里的值
        name = request.POST.get("name")
        age = request.POST.get("age")
        sex = request.POST.get("sex")
        score = request.POST.get("score")

        try:
            #模型类.objects.create(字段名=值,...) 把数据存到数据库里
            Student.objects.create(name=name, age=age, sex=sex, score=score)
        except Exception as e:
            print(e)
            return HttpResponse("添加失败")

        #添加成功跳转到主页面
        return redirect("/data/")

        #如果要跳转的页面有动态路由,可以用格式化法传参
        #例如:return redirect(f"/data/{id}/")
给类视图配置路由
from django.urls import path
from myapp import views

urlpatterns = [
    path('add/', views.AddView.as_view())
]
Django对数据库的修改 先创建一个HTML文件---update.html



    
    Title


{% csrf_token %} 修改界面 电影名:

票价:

所属分类:

在子应用的views里写修改视图
class UpdateView(View):
    def get(self, request, pk):
        return render(request, "update.html")

    def post(self, request, pk):
        # 获取修改之后的数据完成修改的操作
        name = request.POST.get('name')
        price = request.POST.get('price')
        kind = request.POST.get('kind')
        # 此时三者就是修改的数据   模型类.object.filter(条件).update(字段=值...)
        try:
            Movies.objects.filter(id=pk).update(name=name, price=price, kind=kind)
        except Exception as e:
            print(e)
            return HttpResponse("修改失败")
        # 格式化输出
        return redirect(f'/movies/{kind}/')
给类视图配置路由
from django.urls import path
from myapp import views

urlpatterns = [
    #修改是根据id来修改,所以要用动态路由
    path('update//', views.UpdateView.as_view())
]
Django对数据库的删除 在子应用的views里写删除视图
class DelView(View):
    def get(self, request, pk):
        try:
            # 根据id来删除,根据brand_id来展开详情
            Car.objects.get(id=pk).delete()
        except Exception as e:
            print(e)
            return HttpResponse("删除失败")

        return HttpResponse("删除成功")
给类视图配置路由
from django.urls import path
from myapp import views

urlpatterns = [
    # 因为要根据id来删除,所以要用动态路由传参
    path("delete//", views.DelView.as_view()),
]
Django对数据库的查询 先创建一个HTML文件---one.html



    
    Title


查询展示
{% csrf_token %}
{#根据接收到的值进行判断,如果有值那么就显示对应的数据 否则就提示该条数据不存在#} {% if foo %}
编号 名字 年龄 性别 分数
{{ foo.id }} {{ foo.name }} {{ foo.age }} {{ foo.sex }} {{ foo.score }}
{% else %} {{ info }} {% endif %}
在子应用的views里写删除视图
# 类视图---查询单条数据模板
class OneView(View):
    def get(self, request):
        return render(request, "one.html")

    def post(self, request):
        # 根据获取的id 进行查询
        id1 = request.POST.get("id")
        # 根据获取的id进行查询 模型类.objects.get(id=1)

        try:  # 存放可能出现异常的代码
            stu = Student.objects.get(id=id1)
        except Exception as e:  # 捕获异常然后存到e里
            print(e)
            return render(request, "one.html", {"info": "该数据不存在"})
        # 将值传递给模板
        return render(request, "one.html", {"foo": stu})
给类视图配置路由
from django.urls import path
from myapp import views

urlpatterns = [
    path('one/', views.OneView.as_view()),
]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号