首页 > 其他分享 >Django学习第二天

Django学习第二天

时间:2024-07-03 19:27:54浏览次数:25  
标签:NO 数据库 currentTime 部门 Django 学习 第二天 Link NULL

启动项目命令

python manage.py runserver

动态获取当前时间

javascript实现数据动态更新代码

    <script>
        setInterval(function() {
            var currentTimeElement = document.getElementById('current-time');
            var currentTime = new Date();
            currentTimeElement.textContent = 'Current time: ' +
            currentTime.getFullYear() + '-' +
            (currentTime.getMonth() + 1) + '-' +
            currentTime.getDate() + ' ' + currentTime.getHours() + ':'
            + currentTime.getMinutes() + ':' + currentTime.getSeconds();
        }, 1000); // Update every second
    </script>

实现数据添加功能

实现数据删除功能

创建django项目命令,在需要生成项目的文件夹中打开终端运行

django-admin startproject mysite

数据库启动

mysql -u root -p

生成app命令

 python manage.py startapp app01

注册app

orm建成数据库表(外键),性别约束

 自己创建数据库

启动mysql服务

mysql -u root -p

自带工具创建数据库

create database t_day1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci

修改setting.py文件里面数据库的内容

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',
    'USER': 'root',
    'PASSWORD': 'xxx',
    'HOST': '',
    'PORT': '',
    }
}

django命令生成数据库表

python manage.py makemigrations
python manage.py migrate  

查看数据库表

表结构创建成功

静态文件和模板文件(jQuery以及bootstrap有需要的可以私信)

部门管理

先体验

后续:Django中提供Form和ModelForm组件(方便)

使用bootstrap表格样式

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'plugins/bootstrap-3.3.5/css/bootstrap.css' %}">
    <style>
        .navbar{
            border-radius: 0;
        }
    </style>
</head>
<body>
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">联通用户管理系统</a>
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href="#">Link</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>
<script src="/static/js/jquery-3.7.1.min.js"></script>
<script src="/static/plugins/bootstrap-3.3.5/js/bootstrap.js"></script>
</body>
</html>

构建按钮样式

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'plugins/bootstrap-3.3.5/css/bootstrap.css' %}">
    <style>
        .navbar{
            border-radius: 0;
        }
    </style>
</head>
<body>
<nav class="navbar navbar-default">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">联通用户管理系统</a>
        </div>

        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li><a href="/depart/list/">部门管理</a></li>
                <li><a href="#">Link</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">登录</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                       aria-expanded="false">张三 <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">个人资料</a></li>
                        <li><a href="#">我的信息</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">注销</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

<div>
    <div class="container">
        <div style="margin-bottom: 10px">
            <a class="btn btn-success" href="#">
                <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
                新建部门
            </a>
        </div>

        <div class="panel panel-default">
            <!-- Default panel contents -->
            <div class="panel-heading">
                <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
                部门列表
            </div>

            <!-- Table -->
            <table class="table table-bordered">
                <thead>
                <tr>
                    <th>ID</th>
                    <th>名称</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <th>1</th>
                    <td>销售部</td>
                    <td>
                        <a class="btn btn-primary btn-xs">编辑</a>
                        <a class="btn btn-danger btn-xs">删除</a>
                    </td>
                </tr>

                </tbody>
            </table>
        </div>
    </div>
</div>
<script src="/static/js/jquery-3.7.1.min.js"></script>
<script src="/static/plugins/bootstrap-3.3.5/js/bootstrap.js"></script>
</body>
</html>

读取数据库数据显示在页面上

target="_blank"表示可以在新建页面打开

表格数据新建部门增加面板

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'plugins/bootstrap-3.3.5/css/bootstrap.css' %}">
    <style>
        .navbar{
            border-radius: 0;
        }
    </style>
</head>
<body>
<nav class="navbar navbar-default">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">联通用户管理系统</a>
        </div>

        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li><a href="/depart/list/">部门管理</a></li>
                <li><a href="#">Link</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">登录</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                       aria-expanded="false">张三 <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">个人资料</a></li>
                        <li><a href="#">我的信息</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">注销</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

<div>
    <div class="container">
        <div style="margin-bottom: 10px">
            <a class="btn btn-success" href="/depart/add/" target="_blank">
                <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
                新建部门
            </a>
        </div>

        <div class="panel panel-default">
            <!-- Default panel contents -->
            <div class="panel-heading">
                <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
                部门列表
            </div>

            <!-- Table -->
            <table class="table table-bordered">
                <thead>
                <tr>
                    <th>ID</th>
                    <th>名称</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                {% for obj in queryset %}
                    <tr>
                        <th>{{ obj.id }}</th>
                        <td>{{ obj.title }}</td>
                        <td>
                            <a class="btn btn-primary btn-xs">编辑</a>
                            <a class="btn btn-danger btn-xs">删除</a>
                        </td>
                    </tr>
                {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>
<script src="/static/js/jquery-3.7.1.min.js"></script>
<script src="/static/plugins/bootstrap-3.3.5/js/bootstrap.js"></script>
</body>
</html>

bootstrap中文网全局 CSS 样式 · Bootstrap v3 中文文档 | Bootstrap 中文网 (bootcss.com)中也可以使用这样的方式去拿组件

必须要加{% csrf_token %}

表格数据删除部门

第二种传参方式

实现部门数据修改操作

使用模板,占位符

模板代码

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'plugins/bootstrap-3.3.5/css/bootstrap.css' %}">
    <style>
        .navbar{
            border-radius: 0;
        }
    </style>
</head>
<body>
<nav class="navbar navbar-default">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">联通用户管理系统</a>
        </div>

        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li><a href="/depart/list/">部门管理</a></li>
                <li><a href="#">Link</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">登录</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                       aria-expanded="false">张三 <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">个人资料</a></li>
                        <li><a href="#">我的信息</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">注销</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

<div>
    {% block content %}{% endblock %}
</div>
<script src="/static/js/jquery-3.7.1.min.js"></script>
<script src="/static/plugins/bootstrap-3.3.5/js/bootstrap.js"></script>
</body>
</html>

继承模板

{% extends 'layout.html' %}

{% block content %}
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">新建部门</h3>
            </div>
            <div class="panel-body">
                <form method="post">
                    {% csrf_token %}
                    <div class="form-group">
                        <label>标题</label>
                        <input type="text" class="form-control" placeholder="标题" name="title">
                    </div>

                    <button type="submit" class="btn btn-primary">提 交</button>
                </form>
            </div>
        </div>
    </div>
{% endblock %}

可以嵌套多个

用户管理

查看数据库命令

show databases; use t_day2; show tables; desc app01_userinfo;

+-------------+---------------+------+-----+---------+----------------+
| Field       | Type          | Null | Key | Default | Extra          |
+-------------+---------------+------+-----+---------+----------------+
| id          | bigint        | NO   | PRI | NULL    | auto_increment |
| name        | varchar(16)   | NO   |     | NULL    |                |
| password    | varchar(64)   | NO   |     | NULL    |                |
| age         | int           | NO   |     | NULL    |                |
| account     | decimal(10,2) | NO   |     | NULL    |                |
| create_time | datetime(6)   | NO   |     | NULL    |                |
| gender      | smallint      | NO   |     | NULL    |                |
| depart_id   | bigint        | NO   | MUL | NULL    |                |
+-------------+---------------+------+-----+---------+----------------+

datetime转字符串数据类型

取字段对应的值

怎么根据外键取到对应的值的方法

Django页面展示

标签:NO,数据库,currentTime,部门,Django,学习,第二天,Link,NULL
From: https://blog.csdn.net/qq_43580271/article/details/140125394

相关文章

  • 力扣:151.反转字符串里的单词【2023年7月3日学习记录】
     方法一:双指针1.先使用trim()方法删除单词字符串前后空格字符。2.用两个指针指向字符串末尾单词(一个快指针,一个慢指针),快指针先向前移动,直到移动到空格字符停下来,然后截取从快指针到慢指针的单词到新开辟的字符串中。3.快指针再向前移动一位,同时将慢指针指向到快指针的位......
  • [学习笔记] 动态开点权值线段树合并 - 数据结构
    权值线段树例题【模板】普通平衡树#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+1;intn,val[N],opt[N],num[N],cnt,len,san[N],m[N],rnk[N];unordered_map<int,int>dfn;structWeightedSegmentTree{ #definels(id<<1) #define......
  • 深度学习领域的名词解释:SOTA、端到端模型、泛化、RLHF、涌现 ..
    SOTA(State-of-the-Art)在深度学习领域,SOTA指的是“当前最高技术水平”或“最佳实践”。它用来形容在特定任务或领域中性能最优的模型或方法。随着研究进展,SOTA会不断被新的研究成果所超越。 非端到端模型非端到端模型指的是模型架构中包含多个分离的组件或步骤,每个......
  • 学习JVM需要掌握这些技能
    最近,一直有小伙伴让我整理下关于JVM的知识,经过十几天努力算是整理出来了。希望对大家有所帮助。JDK是什么?JDK是用于支持Java程序开发的最小环境。Java程序设计语言Java虚拟机JavaAPI类库JRE是什么?JRE是支持Java程序运行的标准环境。JavaSEAPI子集Java虚拟......
  • sklearn中的Pipeline:构建无缝机器学习工作流
    sklearn中的Pipeline:构建无缝机器学习工作流在机器学习项目中,数据处理、模型训练和预测往往是一系列复杂且相互依赖的步骤。scikit-learn(简称sklearn)提供了一个强大的工具——Pipeline,用于将这些步骤组织成一个线性的工作流程。本文将详细介绍sklearn中的Pipeline概念、优......
  • SpringCloud Alibaba Nacos 配置动态更新源码学习总结
    众所周知,nacos两大核心功能,服务注册发现与动态配置支持服务注册发现的有:Eureka、Consul、Zookeeper、Nacos支持动态配置的有:SpringCloudConfig、Nacos、Apollo、Consul像支持分布式的框架,必须得借用第三方服务,比如定时任务调度xxl-job,分布式事务seata,都分为server端与client......
  • django西餐厅管理系统-计算机毕业设计源码10873
    摘要在现代餐饮行业中,高效的管理系统对于西餐厅的成功运营至关重要。为了满足西餐厅日益增长的管理需求,设计并实现了一款基于Python的西餐厅管理系统。Python作为一种简洁而易读的编程语言,具有广泛的应用领域,包括Web开发。结合Django这一强大的Web框架,我们可以快速构建......
  • LEAP Hand:用于机器人学习的低成本、高效和拟人化的机械手
    ProjectPage:项目页面:   简介在机器人技术领域,灵巧操作一直是一项长期存在的挑战。尽管机器学习技术已经展现出了巨大的潜力,但目前的应用大多还停留在模拟阶段。这一现象在很大程度上是由于缺乏合适的硬件支持。为了解决这一问题,本文介绍了LEAPHand——一款专为机器学......
  • 【Java学习笔记】数组的定义与使用
    【Java学习笔记】数组的定义与使用一、数组的基本概念(一)为什么要使用数组(二)什么是数组(三)数组的创建及初始化1.数组的创建2.数组的初始化(四)数组的使用1.数组中的元素访问2.遍历数组二、数组是引用类型(一)初识JVM的内存分布(二)基本类型变量与引用类型变量的区别(三)再谈引用......
  • 机器学习原理之 -- 支持向量机分类:由来及原理详解
            支持向量机(SupportVectorMachine,SVM)是统计学习理论的一个重要成果,广泛应用于分类和回归问题。SVM以其高效的分类性能和良好的泛化能力在机器学习领域中占据重要地位。本文将详细介绍支持向量机的由来、基本原理、构建过程及其优缺点。二、支持向量机的由......