首页 > 数据库 >django前后端连接数据库的增删查改

django前后端连接数据库的增删查改

时间:2023-04-22 23:00:19浏览次数:42  
标签:templates obj 视图 django 添加 查改 user 增删 数据

目录

配置修改

1. templates目录修改路径

image

2. 如果要添加新的应用的话则需要在installed_apps里面加上去

image

3. static静态文件的配置成动态文件

image
接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找 一旦找到就返回
如果要修改static_url里面的/static/通行证名字,则需要加上接口前缀动态匹配
image

4. 连接数据库

需要修改ip地址,端口号,数据库的账号密码
image

5.前期发送post请求需要注释掉配置文件中的某一行

image
需要注释掉这个,否则无法执行

urls.py 存储网址后缀与函数名对应的关系(开设接口)

前面的路由如果被浏览器输入或者被重定向确定了会立刻执行后面的视图函数

urlpatterns = [
    path('admin/', admin.site.urls),
    #访问用户数据的接口
    path('user_list/', views.user_list_func),
    #添加数据的接口
    path('user_add/', views.user_add_func),
    #编辑数据的接口
    path('user_edit/', views.user_edit_func),
    #删除数据的接口
    path('user_del/', views.user_del_func),
]

数据库数据

image

数据展现功能

1. templates里面的html文件

<div class="container">
    <div class="row">
        <h1 class="text-center">数据展示页</h1>
        <div class="col-md-8  col-md-offset-2">
            <table class="table-hover  table-striped table">
                <a href="/user_add/" class="btn btn-success">数据添加</a>
                <thead>
                <tr>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Age</th>
                    <th>Operation</th>
                </tr>
                </thead>
                <tbody>
                    {% for user_obj in user_data %}
                        <tr>
                        <td>{{ user_obj.pk }}</td>
                        <td>{{ user_obj.name }}</td>
                        <td>{{ user_obj.age }}</td>
                        <td>
                            <a href="#" class="btn btn-primary btn-xs">编辑</a>
                            <a href="#" class="btn btn-danger btn-xs ">删除</a>
                        </td>
                        </tr>

                    {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>

{% for user_obj in user_data %}将数据库里面的数据循环遍历成一个user_obj对象
然后通过对象点出数据库里面的数据
{{ user_obj.pk }} id
{{ user_obj.name }} 名字
{{ user_obj.age }} 年龄

2.view函数视图层

image

3.执行画面

image

数据添加功能

image
在主视图数据添加的a标签中输入添加功能的接口href="/user_add/",然后通过接口访问视图函数

1.templates里面的添加视图

image
form里面的action不填写的话就是把数据默认提交给当前页面所在的地址(视图函数需要获取填写的数据进行判断)

2.view函数视图层

image
默认数据添加到末尾

3.执行画面

image

数据编辑功能(微难)

image
在主视图数据添加的a标签中输入添加功能的接口href="/user_edit/",然后通过接口访问视图函数
get请求朝服务端索要数据也可以携带一些额外的数据
携带额外数据的方式: URL?xxx=yyy&uuu=zzz
问号后面携带数据的大小是有限制(2KB)的并且不能携带敏感数据
href="/user_edit/?edit_id={{ user_obj.pk }}"携带数据库的id

1.templates里面的编辑视图

image
value="{{ target_edit_obj.age }}"在函数视图层获取该id字段对应的对象,然后点出名字和年龄提前展示在编辑框内

2.view函数视图层

image
(pk = target_edit_id)[0]获取该数据id对应的对象
image
然后在model里面添加以获得id对应的名字

3.执行画面

image

数据删除功能

image
与编辑数据同理

1.templates里面的删除script视图

image
如果点击删除会触发click点击事件,confirm会给你一个弹窗确定还是取消的选择,分别对应着ture 或者 false,如果选择取消则return false则终止标签的运行,确定则什么都不做就是删除

2.view函数视图层

image

执行画面

image

标签:templates,obj,视图,django,添加,查改,user,增删,数据
From: https://www.cnblogs.com/whxx/p/17344378.html

相关文章

  • Django框架基础5
    本节知识重点:  1、判断变量值是否相等(equal)  2、extends模板继承标签  3、load加载标签或过滤器  4、模板继承的应用(block与extends)  5、路由分发函数(include)  6、url标签实现反向解析(先app_name='index',再{%url%})  7、reverse()函数实现反向解析(......
  • Django笔记十二之defer、only指定返回字段
    本文首发于公众号:Hunter后端原文链接:Django笔记十二之defer、only指定返回字段本篇笔记将介绍查询中的defer和only两个函数的用法,笔记目录如下:deferonly1、deferdefer的英语单词的意思是延迟、推迟,我们可以通过将字段作为参数传入,可以达到在获取数据的时候指定不获......
  • Django 知识库:path()路径映射
    网站地址是由统一资源定位符表示的,也是就我们常说的url。Django中有非常强大的path()方法,可以动态构造出你想要的各种不同形态的url。基本写法如下:fromdjango.urlsimportpathurlpatterns=[#固定地址path('articles/2003/',...),#可传入int参......
  • Django—Form两种解决表单数据无法动态刷新的方法
    一、无法动态更新数据的实例#Createyourmodelshere.classClasses(models.Model):title=models.CharField(max_length=32)def__str__(self):returnself.titleclassTeacher(models.Model):name=models.CharField(max_length=32)t2c=model......
  • django常用命令
    Django常用命令如下:创建Django项目:django-adminstartprojectproject_name该命令会创建一个名为project_name的Django项目创建Django应用程序:pythonmanage.pystartappapp_name该命令会在Django项目中创建一个名为app_name的应用程序。启动Django服务器: pythonmanag......
  • django项目结构
    Django项目结构的详细说明如下:project_name/项目名称,即项目的根目录。manage.pyDjango项目管理工具,可以用它来执行很多操作,如启动服务器、创建数据库等。project_name/项目包,它是存放项目的所有Python代码的地方,该目录下应该包含__init__.py文件,表示该目录是一个Python包。......
  • django实现文件上传、删除、下载
    django文件上传定义一个包含FileFiled的类ModelWithFileField,其中upload字段的upload_to参数表示上传的文件存放在什么地方classModelWithFileField(models.Model):filename=models.CharField(max_length=100,verbose_name="文件名称")upload_date=models.Date......
  • django-restful:购物车 学习记录
    购物车就有获取购物车详情加入购物车删除购物记录同样直接使用mixins中的就够了view这里面没有一个陌生的基本都是前面学习过了的classShoppingCartViewset(viewsets.ModelViewSet):"""购物车功能list:获取购物车详情create:......
  • Django框架——静态文件配置、form表单、request对象、连接数据库、ORM简介、ORM基本
    配置文件介绍SECRET_KEY='0yge9t5m9&%=of**qk2m9z^7-gp2db)g!*5dzb136ys0#)*%*a'#盐DEBUG=True#调试模式,等项目上线的时候,改成False#配置数据库DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3',#默认是自......
  • 洪君:mybatis plus012:增删改查 洪君
    plus的pom依赖:替代原mybatis<!--mybatisplus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>2.1.9</version></d......