zoukankan      html  css  js  c++  java
  • 每日作业5/27

    1.整理今日内容到博客
    2.利用无名有名 反向解析 完成数据的增删改查

    urls.py

    from django.conf.urls import url
    from django.contrib import admin
    from app01 import views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        # 首页
        url(r'^$', views.home),
        # 编辑用户
        url(r'^edit_user/(d+)', views.edit_user,name="edit_user"),
        # 删除用户
        url(r'^delete_user/(?P<delete_id>d+)', views.delete_user,name="delete_user"),
        # 添加用户
        url(r'^add_user/', views.add_user,name="add_user"),
    ]

    views.py

    from django.shortcuts import render,HttpResponse,redirect
    from app01 import models  # orm查询数据要依靠这个
    
    # Create your views here.
    
    # 首页
    def home(request):
        # 查询出用户表里面所有的数据
        user_queryset = models.User.objects.all()
    
        return render(request,'index.html',{"user_queryset":user_queryset})
    
    # 编辑用户
    def edit_user(request,edit_id):
        # # 接收前端发过来的user_id
        # edit_id = request.GET.get("user_id")
    
        # 获取提交过来的用户名和密码
        if request.method == "POST":
            username = request.POST.get("username")
            password = request.POST.get("password")
            # 去数据库中修改对应的数据内容
            models.User.objects.filter(id=edit_id).update(username=username,password=password)
            """
            将filter查询出来的列表中所有的对象全部更新    批量更新操作
            """
            return redirect("http://127.0.0.1:8000")
    
        # 查询出想要编辑的用户信息,展示到前端供用户编辑
        edit_obj = models.User.objects.filter(id=edit_id).first()
        #将数据对象展示到页面上
        return render(request,"edit_user.html",{"edit_obj":edit_obj})
    
    # 删除数据
    def delete_user(request,delete_id):
        # # 接收前端发过来的user_id
        # delete_id = request.GET.get("user_id")
    
        #直接去数据库中找到对应的数据删除
        models.User.objects.filter(id=delete_id).delete()
        """
        批量删除
        """
        return redirect("http://127.0.0.1:8000")
    
    # 添加数据
    def add_user(request):
        # 获取method方式
        if request.method == "POST":
            username = request.POST.get("username")
            password = request.POST.get("password")
    
            # 判断用户是否存在
            user_obj = models.User.objects.filter(username=username).first()
            if user_obj:
                return HttpResponse("用户已经存在")
            # 直接获取用户数据存入数据库
            user_obj = models.User.objects.create(username=username,password=password)
            # 返回一个主页面
            return redirect("http://127.0.0.1:8000")
    
        return render(request,"add_user.html")

    models.py

    from django.db import models
    
    # Create your models here.
    # 类 -- 表
    class User(models.Model):    # 一定要继承父类models.Model
        # id int primary auto_increment
        id = models.AutoField(primary_key=True,verbose_name="主键")  # 此句等同于设置id字段为主键并且自增的sql语句;
        # username varchar(32)
        username = models.CharField(max_length=32,verbose_name="用户名")
        password = models.CharField(max_length=32,verbose_name="密码")  #修改后的
    
        def __str__(self):    #当对象被打印的时候,会触发这个方法
            return "%s" %self.username

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    
        <!--类似于导模块-->
        {% load static %}
        <!-- Bootstrap3 核心 CSS 文件,本地导入 -->
        <link href="{% static "bootstrap-3.3.7-dist/css/bootstrap.min.css" %}" rel="stylesheet">
        <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
        <script src="{% static "js/jQuery_3.5.1.js" %}"></script>
        <!-- Bootstrap3 核心 JavaScript 文件 -->
        <script src="{% static "bootstrap-3.3.7-dist/js/bootstrap.min.js" %}"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <h1 class="text-center">数据展示</h1>
                    <p class="text-right"><a href="{% url "add_user" %}" class="btn btn-success btn-xs">添加数据</a></p>
                    <table class="table table-striped table-hover">
                        <thead>
                            <tr>
                                <th>id</th>
                                <th>username</th>
                                <th>password</th>
                                <th>action</th>
                            </tr>
                        </thead>
                        {% for user_obj in user_queryset %}
                            <tr>
                                <td>{{ user_obj.id }}</td>
                                <td>{{ user_obj.username }}</td>
                                <td>{{ user_obj.password }}</td>
                                <td>
    
                                    <!--用户点了编辑之后,通过?后面跟k,v的方法将编辑的用户id发送给后端;/edit_user/?user_id={{ user_obj.id }}-->
    {#                                <a href="/edit_user/?user_id={{ user_obj.id }}" class="btn btn-primary btn-xs">编辑</a>#}
                                    <a href="{% url "edit_user" user_obj.id %}" class="btn btn-primary btn-xs">编辑</a>
                                    <a href="{% url "delete_user" user_obj.id %}" class="btn btn-danger btn-xs">删除</a>
                                </td>
                            </tr>
                        {% endfor %}
                    </table>
                </div>
            </div>
        </div>
    </body>
    </html>

    edit_user.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>数据编辑</title>
    
        <!--类似于导模块-->
        {% load static %}
        <!-- Bootstrap3 核心 CSS 文件,本地导入 -->
        <link href="{% static "bootstrap-3.3.7-dist/css/bootstrap.min.css" %}" rel="stylesheet">
        <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
        <script src="{% static "js/jQuery_3.5.1.js" %}"></script>
        <!-- Bootstrap3 核心 JavaScript 文件 -->
        <script src="{% static "bootstrap-3.3.7-dist/js/bootstrap.min.js" %}"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <h1 class="text-center">数据编辑</h1>
                    <form action="" method="post">
                        <p>
                            用户名: <input type="text" name="username" class="form-control" value="{{ edit_obj.username }}">
                        </p>
                        <p>
                            密码: <input type="text" name="password" class="form-control" value="{{ edit_obj.password }}">
                        </p>
                        <input type="submit" class="btn btn-info btn-block" value="编辑">
                    </form>
                </div>
            </div>
        </div>
    </body>
    </html>

    add_user.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    
        <!--类似于导模块-->
        {% load static %}
        <!-- Bootstrap3 核心 CSS 文件,本地导入 -->
        <link href="{% static "bootstrap-3.3.7-dist/css/bootstrap.min.css" %}" rel="stylesheet">
        <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
        <script src="{% static "js/jQuery_3.5.1.js" %}"></script>
        <!-- Bootstrap3 核心 JavaScript 文件 -->
        <script src="{% static "bootstrap-3.3.7-dist/js/bootstrap.min.js" %}"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <h1 class="text-center">添加数据</h1>
                    <form action="/add_user/" method="post">
                        <p>
                            用户名: <input type="text" name="username" class="form-control">
                        </p>
                        <p>
                            密码: <input type="password" name="password" class="form-control">
                        </p>
                        <input type="submit" class="btn btn-success btn-block" value="提交">
                    </form>
                </div>
            </div>
        </div>
    </body>
    </html>


    选做:
    研究FBV内部原理

  • 相关阅读:
    spring cloud教程
    ideaaaaaaaaa
    Django
    Django 基础介绍
    Pychram
    python
    python
    python
    Python
    Python -- Scrapy 命令行工具(command line tools)
  • 原文地址:https://www.cnblogs.com/baicai37/p/12977030.html
Copyright © 2011-2022 走看看