Flask筛选数据、分页、一对多关联

ajax实现多级下拉列表选择(flask) ajax实现多级下拉列表选择 阅读详情

flask筛选数据

添加多条学生信息

  • s_list = [学生对象1, 学生对象2,..]
  • db.session.add_all(s_list)

运算符

  • filter(模型名.字段.运算符(‘xxx’))
  • filter(模型名.字段 运算符 值 )

  • 运算符

  • lt 小于

  • le 小于等于

  • gt 大于

  • ge 大于等于

  • in_ 在范围内

  • order_by 排序

  • limit 截取几个信息

  • offset 跳过几个信息

  • get 获取主键对应的信息

  • and_ 并且条件

  • or_ 或者条件

  • not_ 非


from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()


class Student(db.Model):

    s_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    s_name = db.Column(db.String(20), unique=True)
    s_age = db.Column(db.Integer, default=18)

    __tablename__ = 'student'

    # 初始化,通过这种方式就可以直接通过传参数的方式,创建数据
    def __init__(self, name, age):

        self.s_name = name
        self.s_age = age
import random

from flask import Blueprint, render_template, request
# 注意导入的包
from sqlalchemy import and_, or_, not_

from Stu.models import db, Student

stu = Blueprint('stu', __name__)


@stu.route('/')
def index():
    return render_template('index.html')


@stu.route('/createdb')
def create_db():
    db.create_all()
    return '创建数据库成功'


@stu.route('/dropdb')
def drop_db():
    db.drop_all()
    return '删除数据库成功,可以跑路了'


@stu.route('/createstu', methods=['GET', 'POST'])
def create_stu():
    if request.method == 'GET':
        return render_template('create_stu.html')

    if request.method == 'POST':
        username1 = request.form.get('username1')
        age1 = request.form.get('age1')
        stus = Student(username1, age1)

        db.session.add(stus)
        db.session.commit()
        return '创建成功'


@stu.route('/createstus', methods=['GET', 'POST'])
def create_stus():
    if request.method == 'GET':
        return render_template('create_stu.html')

    else:
        stus_list =[]
        username1 = request.form.get('username1')
        age1 = request.form.get('age1')

        username2 = request.form.get('username2')
        age2 = request.form.get('age2')

        stu1 = Student(username1, age1)
        stu2 = Student(username2, age2)

        stus_list.append(stu1)
        stus_list.append(stu2)
        # 注意传送的是一个列表,添加的方式也有变化,add_all
        db.session.add_all(stus_list)
        db.session.commit()
        return '添加成功'


@stu.route('/selectstu')
def select_stu():
    # 年龄小于16岁的学生信息
    # stus = Student.query.filter(Student.s_age < 16)

    # 也可以用这种方法lt 小于, le小于等于
    # stus = Student.query.filter(Student.s_age.__lt__(16))

    # 小于等于16
    # stus = Student.query.filter(Student.s_age.__le__(16))

    # 大于16
    # tus = Student.query.filter(Student.s_age.__gt__(16))

    # 大于等于16
    # stus = Student.query.filter(Student.s_age.__ge__(16))

    # 年龄在16,1,20, 23
    # stus = Student.query.filter(Student.s_age.in_([16, 1, 20, 23]))

    # 原生sql查所有学生
    # sql = 'select * from student'
    # stus = db.session.execute(sql)

    # 按照id降序排列,注意是在query后面接order_by,如果加了all取到的是一个列表,没有order_by方法
    # stus = Student.query.order_by('-s_id')

    # 降序获取3个
    # stus = Student.query.order_by('-s_id').limit(3)

    # 获取年龄最大的一个
    # stus = Student.query.order_by('-s_age').limit(1)

    # 跳过2个数据,取两个
    # stus = Student.query.order_by('-s_age').offset(2).limit(2)

    # 获取s_id等于24的学生
    # stus = Student.query.filter(Student.s_id == 24).all()

    # get方法,只会匹配主键,并且取到的是一个值,不能被迭代
    # stu = Student.query.get(24)

    # 查询多个条件
    # stus = Student.query.filter(Student.s_age == 20, Student.s_name == '关羽').all()

    # and_并且条件
    # stus = Student.query.filter(and_(Student.s_age == 18, Student.s_name == '刘备'))

    # or_或者条件
    # stus = Student.query.filter(or_(Student.s_age == 18,Student.s_name == '刘备'))

    # not_非 只能加一个条件
    # stus = Student.query.filter(not_(Student.s_age == 18))

    # 表示年龄不等于18, 姓名是关羽的数据
    # stus = Student.query.filter(not_(Student.s_age == 18), (Student.s_name == '关羽'))

    return render_template('student_list.html', stus=stus)


@stu.route('/createstubyrange')
def create_random_stus():
    stus_list = []
    for i in range(20):
        stu = Student('小明%d' % random.randrange(1000),
                '%d' % random.randrange(30))
        stus_list.append(stu)
    db.session.add_all(stus_list)
    db.session.commit()
    return '创建成功'

分页

  • paginate对象

  • pages 总页数

  • total 总条数
  • has_prev 是否有上页
  • has_next 是否有下页
  • prev_num
  • next_num

  • iter_pages() 当前一共多少页[1,2,3]

@stu.route('/stupage')
def stu_page():
    # 获取当前页数
    page = int(request.args.get('page', 1))
    # 设置每页数据
    per_page = int(request.args.get('per_page', 10))
    # 将学生数据分页
    paginate = Student.query.order_by('-s_id').paginate(page, per_page, error_out=False)
    # 获取学生信息
    stus = paginate.items
    return render_template('stupage.html', paginate=paginate, stus=stus)
{% extends 'base_main.html' %}

{% block title %}
    学生分页页面
{% endblock %}

{% block content %}
    <h3>学生信息</h3>
    {% for stu in stus %}
        {{ stu.s_name }}
        {{ stu.s_age }}
        <br>
    {% endfor %}
    <br>
    总页数:{{ paginate.pages }}
    <br>
    一共有{{ paginate.total }}条数据
    <br>

    当前页数:{{ paginate.page }}
    <br>
    {% if paginate.has_prev %}
        <a href=" /stu/stupage?page={{ paginate.prev_num }} ">上一页:{{ paginate.prev_num }}</a>
    {% endif %}
    {% if paginate.has_next %}
        <a href=" /stu/stupage?page={{ paginate.next_num }} ">下一页:{{ paginate.next_num }}</a>
    {% endif %}
    <br>
    页码:{% for i in  paginate.iter_pages() %}
    <a href="/stu/stupage?page={{ i }}"> {{ i }} </a>
    {% endfor %}
{% endblock %}

one_to_many

  • 在one的model中定义relationship字段
  • students = db.relationship(‘Student’, backref=’stu’, lazy=True)
    • 通过one找many,one的对象.students,结果为many的结果
    • 通过many找one,many的对象.stu,结果为one的对象
# Grade app下的models.py文件
from datetime import datetime

from flask_sqlalchemy import SQLAlchemy
# 注意为了是两个表可以互相关联需要从另一model中导入db
from Stu.models import db


class Grade(db.Model):

    g_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    g_name = db.Column(db.String(10), unique=True)
    g_desc = db.Column(db.String(100), nullable=True)
    g_time = db.Column(db.Date, default=datetime.now)
    # 在没有设置外键的表中,设置关系,第一个参数是另一model的类名,第二参数用于反向查找这个表
    # lazy懒加载,使用的时候才加载
    students = db.relationship('Student', backref='grade', lazy=True)  

    __tablename__ = 'grade'

    def __init__(self, name, desc):
        self.g_name=name
        self.g_desc=desc
# Stu app下的models.py文件
from flask_sqlalchemy import SQLAlchemy


db = SQLAlchemy()


class Student(db.Model):

    s_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    s_name = db.Column(db.String(20), unique=True)
    s_age = db.Column(db.Integer, default=18)
    # 注意参数顺序,不要写反, grade.g_id表示的是tablename,点关联的字段名
    # 在通过这个表找关联表时不要直接点s_g,需要点上一个model中的反选的变量(grade)
    s_g = db.Column(db.Integer, db.ForeignKey('grade.g_id'), nullable=True)

    __tablename__ = 'student'

    # 初始化
    def __init__(self, name, age):

        self.s_name = name
        self.s_age = age
# Stu app下的views.py文件
@stu.route('/selectgradebystu/<int:id>/')
def select_grade_by_stu(id):
    # 通过id找到学生
    stu = Student.query.get(id)
    # 学生通过反选变量找到班级
    grade = stu.grade

    return render_template('stu_grade.html', stu=stu, grade=grade)
# Grade app下的views.py文件
@grade.route('/selectstubygrade/<int:id>/' )
def select_stu_by_grade(id):
    # 通过班级id找到班级
    grade = Grade.query.get(id)
    # 通过班级的关联字段找到学生
    stus = grade.students
    # 通过反选变量还可以找到班级
    grade1 = stus[0].grade
    return render_template('grade_student.html', stus=stus, grade=grade, grade1=grade1)
基于Spring Boot的心脏病人数据分析系统实战:从架构设计到部署优化 在医疗信息化建设中,数据分析系统的价值在于将分散的临床记录转化为可辅助决策的统计视图。此类系统通常涉及数据采集、结构化存储、分组聚合与可视化呈现等核心环节。利用Spring Boot与MyBatis搭建分层后端,配合ECharts渲染图表,能够高效实现患者档案管理、诊断记录检索及年龄段分布统计等典型功能。本文围绕一套心脏病人数据分析系统的完整开发流程,梳理了从业务需求拆解、数据库设计到Excel导入导出、部署排障的工程要点,并结合实际踩坑经验给出可复用的优化建议,为开发同类医疗数据管理工具提供参考。 阅读详情

相关推荐

从开源软件库源码到可部署项目:环境配置、数据库设计与安全部署实战

Web应用开发中,理解项目架构与部署流程是工程师的核心能力。其原理在于将前端界面、后端逻辑与数据库进行有效整合,通过模块化设计实现功能解耦。掌握这一流程的技术价值在于能够快速复用和定制开源项目,构建如软件商店、资源管理平台等应用,极大提升开发效率。本文以常见的软件库项目为例,深入剖析从源码解压、环境配置、依赖安装到数据库初始化的完整路径,并重点探讨了文件上传安全与生产环境部署等工程实践。通过解析Node.js、Vue.js与MySQL等技术栈的整合,以及使用PM2进行进程守护、Nginx配置反向代理等实操,

weixin_31961675的博客 367

【大数据实战项目四】Mongo/ES数据储存及利用Flask进行结果展示

Mongo/ES数据储存及利用Flask进行结果展示5 数据储存及结果展示5.1 将数据保存到MongoDB5.2 利用Flash进行数据结果展示5.2.1 将数据展示到指定页面5.2.2 数据筛选显示5.2.3 美化数据输出5.2.4 多数据分页显示5.2.5 制作具有查询功能的页面 手动反爬虫,禁止转载:原博地址 https://blog.youkuaiyun.com/lys_828/article/details/121283758(优快云博主:Be_melting) 知识梳理不易,请尊重劳动成果,文章仅发布

lys_828的博客 2009

【AIGC】人工智能训练师(高级)考试题库-橙点同学

例如,在嘈杂的环境中进行声音转文字,即使是优秀的模型也可能会出现一些错误,但这并不意味着该模型本身质量差,在其他较为理想的环境下,它可能会有很好的表现。例如,在一些语音应用和系统中,会使用SSML来实现对语音合成的精细控制,如调整语速、语调、音量等,而这些应用和系统的开发往往会遵循W3C的相关标准和框架,其中就包括SSML这一语音合成标记语言。例如,在语音识别等场景中,像“去火车站怎么走”这样的语音指令,没有其他嘈杂的背景声音或模糊不清的表述,就属于无噪音的数据,有利于系统准确地进行处理和分析。

RisunJan的博客 9921

筛选数据_Flask学习笔记(十八):数据筛选

前言在业务程序中,通常情况下要处理数据表格,当表格规模较大时,我们采用的是分页功能,关于这一点,在上一篇文章中已经介绍过。然而,还有一个问题是必须面对的,那就是需要根据不同的条件进行数据筛选,当需要快速筛选时,将少量条件筛选框与数据放在同一个页面上是非常有必要的。这一篇文章即来研究一下当条件筛选框与查询数据同一个页面时该怎么处理。创建条件筛选表单首先当然是创建表单,还是以用户管理这个小程...

weixin_39829073的博客 1224

KIBANA可视化管理界面说明

更说明转自https://blog.youkuaiyun.com/IT_ZRS/article/details/125496588 1 主要结构功能 使用浏览器访问 ip:5601 默认端口,进入首页 Discover:日志管理视图 主要进行搜索和查询 Visualize:统计视图 构建可视化的图表 Dashboard:仪表视图 将构建的图表组合形成图表盘 Timelion:时间轴视图 随着时间流逝的数据 APM:性能管理视图 应用程序的性能管理系统 Canvas:大屏展示

tian830937的专栏 7086

STM32 CAN发送丢包?3个邮箱轮询法实测有效(附代码)

本文深入分析了STM32 CAN总线发送丢包的根本原因,指出其内置CAN控制器的三个发送邮箱是硬件瓶颈。针对高负载场景,提供了实测有效的优化方案,重点介绍了非阻塞的邮箱状态轮询法,该方法通过主动轮询三个邮箱的空闲状态,充分利用硬件资源,显著提升发送稳定性并避免任务阻塞。文中附有可直接使用的示例代码。

weixin_29189381的博客 195

【Flask数据库】filter方法常用过滤条件

文章目录一、过滤条件1、 equals:等于2、 not equals:不等于3、 like:为Column的一个方法,表模糊匹配,like内传入匹配字段。4、 in_:判度胺是否存在5、 not in:判断是否不存在6、 is null:为空7、 is not null:不为空8、and:并,可用逗号表示并,也可通过导入and_9、 or:或备注 一、过滤条件 过滤是数据提取的重要功能,以下为f...

qq_45696681的博客 4145

深入解析Sigma Delta调制器 —— 从电流采样到数字信号处理的完整链路

本文深入解析了Sigma Delta调制器的工作原理与应用。通过剖析过采样、噪声整形与负反馈核心机制,并结合AMC1306等实例,详细阐述了从电流采样到数字信号处理的完整链路。该技术凭借其高精度和高抗干扰能力,在ADC、电流测量及音频处理等领域发挥着关键作用。

ttt77的博客 643

Flask 框架 筛选查询 & 外键

Flask使用聚合函数查询数据filter 过滤器筛选数据外键和约束 使用聚合函数查询数据 首先,先创建一个表格 article1,并增添字段 id、title、price url 配置项文件 HOSTNAME = '127.0.0.1' # 主机地址 DATABASE = 'mysql_2' # 数据库名字 PORT = 3306 # 数据库端口 USERNAME = 'root' # 用户名 PASSWORD = 'root' # 密码 # 创建 url 固定模板 DB_URL = 'mys

weixin_51927215的博客 983

Ubuntu22.04实战:基于VLLM高效部署Qwen3系列模型并构建Dify智能体

本文详细介绍了在Ubuntu22.04系统上使用VLLM高效部署Qwen3系列模型并集成Dify平台的实战指南。从环境配置、Conda管理到VLLM优化部署,再到Dify智能体构建,提供了全面的技术方案和性能调优建议,帮助开发者快速实现AI模型的高效部署与应用。

weixin_28323057的博客 161

20、七鳃鳗繁殖与早期生活史:从水质到养殖的全面解析

本文全面解析了七鳃鳗的繁殖与早期生活史,重点探讨了水质对幼体生存的影响、养殖密度与生长关系、变态过程的时间与大小特征,以及人工繁殖在濒危物种恢复和入侵物种控制中的应用。同时,文章分析了大规模养殖面临的挖掘基质需求、空间限制、清洁管理、疾病防控及微生物环境等挑战,并强调实验室养殖对科学研究和种群管理的重要意义。随着技术进步,未来有望扩展更多物种的繁殖研究,揭示七鳃鳗生物学的进化奥秘,实现资源的可持续利用。

l6m7n8的博客 116

关于flask入门教程-分页的几种方式

关于flask的分页,大家都知道有一个Flask-SQLAlchemy提供的paginate()方法,这个方法配合bootstrap简化了分页连接代码的生成,但其实关于分页数据的返回才是最...

不胜人生一场醉 5795

SPSS 多重共线性问题:编程解决方案

多重共线性会导致回归模型的不稳定性,使得估计的回归系数失去解释力,降低模型的准确性和可靠性。通过执行这些代码,你将能够计算和查看VIF和CI的结果,并确定是否存在多重共线性问题。上述代码执行了一个回归分析,其中A是我们感兴趣的因变量,B、C、D和E是我们要检查的自变量。接下来,我们将执行多重共线性的检测。通过执行上述代码,你将能够看到每个自变量的VIF和CI值,以及预先设置的阈值。上述代码将计算VIF和CI的值,并将结果写入指定路径的结果文件中。接下来,我们可以使用以下代码来计算和显示VIF和CI的值。

CyberGenius的博客 1426

Flask对数据库的查询以及关联

数据库的查询&表单关联

m0_70015578的博客 2490

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Flask 操作数据库

查询相关语句: @stu.route('/selectstu/') def select_stu(): # 查询年龄小于16岁的学生的信息 # 第一种查询的方式 stus = Student.query.filter(Student.s_age &lt; 16) # 第二种查询的方式 # __lt__表示小于 __le__表示小于等于 stus...

qq_42827960的博客 296

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

flask 查询数据库

查询相关语句: @stu.route('/selectstu/') def select_stu(): # 查询年龄小于16岁的学生的信息 # 第一种查询的方式 stus = Student.query.filter(Student.s_age &amp;amp;amp;amp;amp;amp;amp;lt; 16) # 第二种查询的方式 # __lt__表示小于 __le__表示小于等于 s...

qq_40861391的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

别再只盯着PPT了!手把手教你用Python+Flask搭建一个虚拟电厂运营平台原型

本文详细介绍了如何使用Python和Flask构建虚拟电厂运营平台原型,从环境准备到核心功能实现,包括资源注册、指令下发与执行,以及数据可视化看板。通过轻量级技术栈(Flask+SQLite+ECharts),开发者可以快速理解分布式能源聚合的核心逻辑,并实现一个可运行的虚拟电厂原型系统。

weixin_30617695的博客 269

【Python 】一篇吃透Python SQLAlchemy!零基础入门+实战案例+流程图(超全详解)

自定义用户模型# 数据表名称# 定义字段id = Column(Integer, primary_key=True, autoincrement=True, comment="主键ID")username = Column(String(30), nullable=False, unique=True, comment="用户名")age = Column(Integer, nullable=True, comment="年龄")

记录生活 264

从多维表格到专业数据库:构建健壮出入库系统的技术选型与实战

在数据管理与业务系统构建领域,关系型数据库以其强大的数据关系建模、事务一致性保障和复杂查询能力,成为处理核心业务逻辑的基石。其ACID特性确保了在库存管理、订单处理等场景下数据的高度可靠,而通过索引、分页等机制能有效应对海量数据的性能挑战。这种技术价值在需要高度定制化、可扩展性和深度集成的企业应用场景中尤为突出。本文聚焦于出入库管理系统这一典型场景,针对使用多维表格模拟“主子表”关系时遇到的性能瓶颈和数据一致性难题,提供了一套基于轻量级数据库(如SQLite/MySQL)与自动化平台(如n8n)的可落地替代

weixin_34279246的博客 308

表格装不下团队,ERP 又太重?开源多维表格SmartTable解决您的问题! 官方文档站正式上线

页面看什么SmartTable 是什么?核心定位、能力概览、技术栈、开源协议核心功能26 种字段、7 种视图、数据处理、自动化、权限安全一页速览使用场景项目管理、CRM、内容、HR、库存、个人任务客户案例真实落地故事关注我们社区入口不想看长文,直接翻「核心功能」一页速览即可。

Binac二维思索 185

Python大模型基础

使用async def关键字定义的函数就是协程函数,它返回一个协程对象这是一个协程函数# await 关键字只能在协程函数内部使用await asyncio.sleep(1) # 模拟I/O操作调用 hello() 不会立即执行,只会返回一个协程对象print(type(coro_obj)) # 输出: <class 'coroutine'>一个纯文本文件(无后缀名),包含一系列简单的指令,用于告诉Docker“如何构建自定义镜像”​# 生成基类,所有模型需继承该类​。

qq_51466574的博客 248

在Flask中对数据进行搜索并对搜索后的数据实现翻页

1.在app.py文件中先写展示mysql数据的函数,获取数据库的数据,并将数据传给index.html。获取搜索框填入的值,使用filter对数据库的数据进行过滤,将筛选后的值传入html。index.html(将数据以表格的形式展示,在网页中写入了搜索框和翻页的页码)search.html(用表格的形势,展示后端传入的值)两个html继承的base_main.html的代码如下。2.在app.py文件中写入处理搜索请求的函数。

m0_65142226的博客 958

python flask 分页_Python的Flask框架中实现分页功能的教程

Blog Posts的提交让我们从简单的开始。首页上必须有一张用户提交新的post的表单。首先我们定义一个单域表单对象(fileapp/forms.py):class PostForm(Form):post = TextField('post', validators = [Required()])下面,我们把这个表单添加到template中(fileapp/templates/index.htm...

weixin_39630095的博客 523

Python Flask使用Pagination实现分页展示数据

使用pymysql连接数据库,并执行查询语句获取到数据库字段值后使用flask-pagination实现分页

Qiu的博客 5651

Flask入门数据库过滤器与查询集(十一)

1 查询集 : 指数据查询的集合 原始查询集: 不经过任何过滤返回的结果为原始查询集 数据查询集: 将原始查询集经过条件的筛选最终返回的结果 查询过滤器: 过滤器 功能 cls.query.filter(类名.属性名 条件操作符 条件) 过滤特定条件,返回的是query对象 cls.query.filter_by(关键字参数对) 单条件查询,条件...

诚实可靠小郎君 7366
上一篇: Flask页面解析与数据库基本操作
下一篇: 多对多关联、重构项目、Debugtoolbar、Restful
北辰0518
博客等级 码龄9年 84粉丝 90原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值