有没有专做零食批发的网站/小红书关键词排名

有没有专做零食批发的网站,小红书关键词排名,广州做网站海珠信科,哈尔滨编程课哪个机构最好Django框架-SQLite3 介绍 Django内置了对 SQLite3 数据库的支持。SQLite3 是一个轻量级的嵌入式数据库引擎,非常适合开发、测试和小型项目。以下是关于 Django 中 SQLite3 的介绍和应用指南。(除了这些还支持mysql、oracle以及其他查询文档,…

Django框架-SQLite3

介绍

        Django内置了对 SQLite3 数据库的支持。SQLite3 是一个轻量级的嵌入式数据库引擎,非常适合开发、测试和小型项目。以下是关于 Django 中 SQLite3 的介绍和应用指南。(除了这些还支持mysql、oracle以及其他查询文档,本质上是一个内置数据库并且它是一个文件数据库,无需安装直接可以使用)

链接工具

命令行工具-sqlite

安装

注意了我们安装的算是一个工具只是对于sqlite3数据库的一个命令行管理工具。(也可以使用datagrip或者其他的工具)

下载地址

下载后需要注意对应的解压包中需要有.exe文件

使用sqlite3

配置环境变量将sqlite3.exe配置到path中就可以在cmd命令随时使用了

使用.help查看帮助指令

使用

常用的命令

类型命令/语句说明
命令行命令.help显示所有 SQLite3 命令行命令的帮助信息。
.tables列出当前数据库中的所有表。
.schema [表名]显示指定表的创建语句。如果不指定表名,则显示所有表的创建语句。
.databases列出当前连接的数据库文件。
.exit 或 .quit退出 SQLite3 命令行工具。
.mode MODE设置输出模式(如 csvcolumnlinelist 等)。
.headers on/off开启或关闭查询结果的列名显示。
.output FILENAME将输出重定向到指定文件。
.import FILE TABLE将文件中的数据导入到指定表中。
.show显示当前 SQLite3 的配置(如输出模式、分隔符等)。
.dump [表名]导出数据库或指定表的 SQL 语句(用于备份)。
.read FILENAME执行指定文件中的 SQL 语句。
.open FILENAME打开或切换到指定的数据库文件。
.backup DBNAME FILE备份数据库到指定文件。
.restore DBNAME FILE从指定文件恢复数据库。
SQL 语句CREATE TABLE 表名 (列定义);创建表。例如:CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);
DROP TABLE 表名;删除表。
INSERT INTO 表名 (列) VALUES (值);插入数据。例如:INSERT INTO users (name) VALUES ('Alice');
SELECT 列 FROM 表名 [WHERE 条件];查询数据。例如:SELECT * FROM users WHERE id = 1;
UPDATE 表名 SET 列=值 [WHERE 条件];更新数据。例如:UPDATE users SET name='Bob' WHERE id = 1;
DELETE FROM 表名 [WHERE 条件];删除数据。例如:DELETE FROM users WHERE id = 1;
ALTER TABLE 表名 ADD COLUMN 列定义;添加列。例如:ALTER TABLE users ADD COLUMN age INTEGER;
BEGIN TRANSACTION;开始事务。
COMMIT;提交事务。
ROLLBACK;回滚事务。
PRAGMA 指令;执行 PRAGMA 指令。例如:PRAGMA table_info(users); 显示表结构信息。

常用工具-datagrip

链接

        因为他是一个文件型数据库,那么使用这个工具去查询创建就没什么可以说的了。常用的查询create都可以。

使用

其他工具navicat、PyCharm中自带的database、dbserver都可以一样的只要把驱动下载下来都可以使用。

使用

建表:

-- 使用datagrip 直接创建或者sqlite命令行工具创建都可以
create table t_user(id INTEGER PRIMARY KEY AUTOINCREMENT,  -- 自增主键username varchar(100),password varchar(100),sex varchar(1)
);
# db相关操作
from django.db import connection
# 获取游标对象 使用游标对象还记得之前的db相关的操作嘛 直接创建表
cursor = connection.cursor()

myapp下的views下增加success和register方法

# django最新版5.1
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
#引入render
from django.shortcuts import render,redirect
from datetime import datetime
from django.db import connection
# 获取游标对象
cursor = connection.cursor()# 定义一个文字或者html的元素或者标签
# postman请求时必须添加csrf_exempt否则会返回403
# 当你在Postman中测试POST请求时,如果没有手动添加 CSRF Token,Django 会认为这是一个潜在的 CSRF 攻击,因此返回 403 Forbidden 错误。
@csrf_exempt
def index(request):if request.method == 'POST':username = request.POST.get('username')password = request.POST.get('password')retStr = f"<span style='font-size:48px;'>POST 我请求测试参数:username={username} password = {password}</span>"print(retStr)else:pwd = request.GET.get('pwd')retStr = "Get请求测试参数:%s" %pwdreturn HttpResponse(retStr)# 指向myindex.html
def myindex(request):# 第三个参数为键值对传递 传递上下文或者返回的数据 使用前端接受参数时 类似于java的template也有一个基于模版前端的{{name}}list = [{"name":"django","age":"18"},{"name":"java","age":"18"},{"name":"python","age":"18"}]return render(request, 'myindex.html',{"name":"","list":list,"ifkey":"django","testdate":datetime.strptime('2025-03-15',"%Y-%m-%d")})def register(request):if request.method == 'POST':username = request.POST.get('username')password = request.POST.get('password')sex = request.POST.get('sex')print("username:"+username,"password:"+password,"sex:"+sex)# 保存用户数据到 t_user 表cursor.execute(" insert into t_user(username,password,sex) values(%s,%s,%s)",(username,password,sex))connection.commit()return redirect('success')  # 注册成功后跳转到成功页面else:passreturn render(request, 'register.html', {'form': []})def success(request):return render(request, 'success.html')

myapp下的template中增加register和success以及myindex作为了主页增加了注册的超链接

register.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>User Registration</title><!-- 引入 Bootstrap 5 CSS --><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"><!-- 自定义 CSS --><style>body {background-color: #f8f9fa;font-family: 'Arial', sans-serif;}.register-container {max-width: 500px;margin: 100px auto;padding: 30px;background: #ffffff;border-radius: 10px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);}.register-container h2 {text-align: center;margin-bottom: 20px;color: #333;font-weight: bold;}.form-control {border-radius: 5px;padding: 10px;border: 1px solid #ddd;margin-bottom: 15px;}.form-control:focus {border-color: #007bff;box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);}.btn-primary {width: 100%;padding: 10px;border-radius: 5px;background-color: #007bff;border: none;font-size: 16px;}.btn-primary:hover {background-color: #0056b3;}.alert {border-radius: 5px;margin-bottom: 20px;}.text-danger {font-size: 14px;margin-top: 5px;}</style>
</head>
<body><div class="register-container"><h2>Register</h2><form method="post" action="{% url 'register' %}">{% csrf_token %}  <!-- CSRF 令牌,防止跨站请求伪造攻击 --><!-- 显示表单错误 -->{% if form.errors %}<div class="alert alert-danger"><strong>Error!</strong> Please correct the errors below.</div>{% endif %}<!-- Username 字段 --><div class="form-group"><label for="id_username" class="form-label">Username</label><input type="text" name="username" id="id_username" class="form-control" value="{{ form.username.value|default_if_none:'' }}" required>{% if form.username.errors %}<div class="text-danger">{{ form.username.errors }}</div>{% endif %}</div><!-- Password 字段 --><div class="form-group"><label for="id_password" class="form-label">Password</label><input type="password" name="password" id="id_password" class="form-control" required>{% if form.password.errors %}<div class="text-danger">{{ form.password.errors }}</div>{% endif %}</div><!-- Sex 字段 --><div class="form-group"><label for="id_sex" class="form-label">Sex</label><select name="sex" id="id_sex" class="form-control" required><option value="">Select Sex</option><option value="M" {% if form.sex.value == "M" %}selected{% endif %}>Male</option><option value="F" {% if form.sex.value == "F" %}selected{% endif %}>Female</option><option value="O" {% if form.sex.value == "O" %}selected{% endif %}>Other</option></select>{% if form.sex.errors %}<div class="text-danger">{{ form.sex.errors }}</div>{% endif %}</div><!-- 提交按钮 --><div class="form-group"><button type="submit" class="btn btn-primary">Register</button></div></form></div><!-- 引入 Bootstrap 5 JS(可选) --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

success.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Registration Successful</title><!-- 引入 Bootstrap 5 CSS --><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"><!-- 自定义 CSS --><style>body {background-color: #f8f9fa;font-family: 'Arial', sans-serif;}.success-container {max-width: 500px;margin: 100px auto;padding: 30px;background: #ffffff;border-radius: 10px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);text-align: center;}.success-container h2 {color: #28a745;font-weight: bold;margin-bottom: 20px;}.btn-primary {padding: 10px 20px;border-radius: 5px;background-color: #007bff;border: none;font-size: 16px;}.btn-primary:hover {background-color: #0056b3;}</style>
</head>
<body><div class="success-container"><h2>恭喜您注册成功</h2><p>感谢您的注册.</p><a href="{% url 'register' %}" class="btn btn-primary">注册其他用户</a></div><!-- 引入 Bootstrap 5 JS(可选) --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

myindex.html


<span style = 'font-size: 48px;'><a href='http://127.0.0.1:8000/register/'>注册</a>
</span>

utils.py内容变更

from django.urls import path
from . import viewsurlpatterns = [path("index/", views.index, name="index"),path("myindex/", views.myindex, name="myindex"),path('register/', views.register, name='register'),path('success/', views.success, name='success'),
]

后续把代码传到github仓库上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 》》Docker Compose 》》network 网络 compose

docker 默认的网络 三种模式 # 列出所有当前主机上或Swarm集群上的网络 docker network ls#查看网络详情 docker network inspect network名称# 清除未使用的docker网络 docker network prune -f# 创建网络 ocker network create -d bridge 网络名称 docker network create –s…

Python数字信号处理之最佳等波纹滤波器阶数估计原理

Matlab中的阶数估计函数 在MATLAB中&#xff0c;使用firpmord函数可以估算等波纹FIR滤波器的最小阶数。该方法基于Parks-McClellan算法&#xff0c;通过通带和阻带的频率边界、幅度响应及允许的最大误差来自动计算参数。 rp 3; % Passband ripple in dB rs 40; …

JumpServer基础功能介绍演示

堡垒机可以让运维人员通过统一的平台对设备进行维护&#xff0c;集中的进行权限的管理&#xff0c;同时也会对每个操作进行记录&#xff0c;方便后期的溯源和审查&#xff0c;JumpServer是由飞致云推出的开源堡垒机&#xff0c;通过简单的安装配置即可投入使用&#xff0c;本文…

Android LeakCanary 使用 · 原理详解

一、简介 LeakCanary 是 Square 公司开源的 Android 内存泄漏检测工具&#xff0c;通过自动化监控和堆转储分析&#xff0c;帮助开发者快速定位内存泄漏根源。其核心设计轻量高效&#xff0c;已成为 Android 开发中必备的调试工具。 二、使用方式 1. 集成步骤 在项目的 buil…

每日一题---dd爱框框(Java中输入数据过多)

dd爱框框 实例&#xff1a; 输入&#xff1a; 10 20 1 1 6 10 9 3 3 5 3 7 输出&#xff1a; 3 5 这道题要解决Java中输入的数过多时&#xff0c;时间不足的的问题。 应用这个输入模板即可解决&#xff1a; Java中输入大量数据 import java.util.*; import java.io.*;pu…

redis部署架构

一、redis多实例部署 实例1 安装目录&#xff1a;/app/6380 数据目录&#xff1a;/app/6380/data 实例2 安装目录&#xff1a;/app/6381 数据目录&#xff1a;/app/6381/data 1、创建实例安装目录 2、拷贝实例的配置文件 3、编辑实例的配置文件 第…

面试vue2开发时怎么加载编译速度(webpack)

可以输入命令获取默认 webpack 设置 vue inspect > set.js 1.使用缓存 configureWebpack: {cache: {type: filesystem, // 使用文件系统缓存类型buildDependencies: {config: [__filename] // 缓存依赖&#xff0c;例如webpack配置文件路径}}}, 2.启用 vue-loader (测试明…

深度学习-服务器训练SparseDrive过程记录

1、cuda安装 1.1 卸载安装失败的cuda 参考&#xff1a;https://blog.csdn.net/weixin_40826634/article/details/127493809 注意&#xff1a;因为/usr/local/cuda-xx.x/bin/下没有卸载脚本&#xff0c;很可能是apt安装的&#xff0c;所以通过执行下面的命令删除&#xff1a; a…

Browser Copilot 开源浏览器扩展,使用现有或定制的 AI 助手来完成日常 Web 应用程序任务。

一、软件介绍 文末提供源码和开源扩展程序下载 Browser Copilot 是一个开源浏览器扩展&#xff0c;允许您使用现有或定制的 AI 助手来帮助您完成日常 Web 应用程序任务。 目标是提供多功能的 UI 和简单的框架&#xff0c;以实现和使用越来越多的 copilots&#xff08;AI 助手&…

解锁C++:指针与数组、字符串的深度探秘

目录 一、指针与数组:亲密无间的伙伴 1.1 指针是数组的 “快捷通道” 1.2 数组名与指针:微妙的差别 1.3 动态数组:指针大显身手 二、指针与字符串:千丝万缕的联系 2.1 字符指针与 C 风格字符串 2.2 指针与 std::string 类 2.3 字符串常量与指针 三、指针在数组和字…

20250315-OpenAI-AgentSDK实验

凑热闹。可以用GLM跑。 这里暂时用GLM底座“魔鬼修改”&#xff0c;代码库仅供参考&#xff08;共同进步吧&#xff09; openai-agents-python-glm: 基于GLM底座运行SDK&#xff0c;学习实验SDK内的mAGT功能。https://gitee.com/leomk2004/openai-agents-python-glm 自言自语&a…

Qt QML实现弹球消砖块小游戏

前言 弹球消砖块游戏想必大家都玩过&#xff0c;很简单的小游戏&#xff0c;通过移动挡板反弹下落的小球&#xff0c;然后撞击砖块将其消除。本文使用QML来简单实现这个小游戏。 效果图&#xff1a; 正文 代码目录结构如下&#xff1a; 首先是小球部分&#xff0c;逻辑比较麻…

Python的那些事第四十五篇:继承自Nose的测试框架Nose2

Nose2:继承自Nose的测试框架 摘要 本文深入探讨了Nose2这一继承自Nose的测试框架。在软件开发过程中,测试是确保代码质量和稳定性的重要环节,而测试框架为测试工作的开展提供了有力支持。Nose2作为Nose的继承者,在保留Nose优势的基础上进行了诸多改进和扩展,为Python测试…

如何通过 Airbyte 将数据摄取到 Elasticsearch

作者&#xff1a;来自 Elastic Andre Luiz Airbyte 是一个数据集成工具&#xff0c;可自动化并可扩展地将信息从各种来源传输到不同的目的地。它使你能够从 API、数据库和其他系统提取数据&#xff0c;并将其加载到 Elasticsearch 等平台&#xff0c;以实现高级搜索和高效分析。…

RBAC 模型的简单实现

RBAC 模型基本介绍 RBAC&#xff08;Role-Based Access Control&#xff0c;基于角色的访问控制&#xff09;是一种广泛应用的权限管理模型。它的核心思想是通过角色来管理权限&#xff0c;而不是直接分配权限给用户。用户被赋予一个或多个角色&#xff0c;而每个角色拥有不同…

数据结构---堆栈和列

一、堆栈 1.栈堆&#xff1a;具有一定操作约束的线性表&#xff1b;&#xff08;只在一端做插入删除&#xff09; 2.栈的顺序存储结构&#xff1a; 由一个一维数组和一个记录栈顶元素位置的变量组成。定义方式如下&#xff1a; 3.入栈操作&#xff1a; 注意&#xff1a;&…

2023 年全国职业院校技能大赛(中职组)移动应用与开发赛项 赛题第十套

2023 年全国职业院校技能大赛&#xff08;中职组&#xff09;移动应用与开发赛项 赛题第十套&#xff09; 移动应用与开发赛项竞赛模块 A&#xff1a;移动应用界面设计任务 1 环保中心界面设计&#xff08;7.5 分&#xff09;任务 2&#xff1a;首页界面设计&#xff08;7.5 分…

c语言笔记 字符串函数---strcmp,strncmp,strchr,strrchr

目录 函数strcmp与strncmp 以下是错误的示范&#xff1a;两个指针字符型的指针不能直接进行比较 函数strchr与函数strrchr 函数strchr与函数strrchr与strstr函数三者对比 背景&#xff1a;如果说我们要比较两个字符串是否相等&#xff0c;使用strcmp或者strncmp函数。在c语言中…

IDEA集成git,项目的克隆,远程仓库中文件的添加删除

目录 一、克隆项目 二、使用IDEA完成文件的上传和删除 1.配置git 2.上传 3.删除&#xff08;通过git bash&#xff09; 一、克隆项目 点击克隆&#xff0c;复制url &#xff0c;如下 打开你想要克隆到哪里&#xff0c;右击&#xff0c;选择 open Git Bash here 这一步之后…