django 连接数据库 sqlite的例子
作者:palmer_kai 发布时间:2023-08-03 19:03:15
Aphorism
the fight is worth it.
django models 连接 sqlite 数据库
django 版本为 1.11.7
在 blog 项目下创建一个 app article :python manage.py startapp article
在 blog 项目结构下会多出一个 article 目录
在 article 下面的 models.py 文件中输入
from django.db import models
class Article(models.Model):
name = models.CharField('名称',max_length = 30)
age = models.CharFiels('年龄',max_length = 5)
class Meta:
db_table = 'Article'
step4: 在 子blog 目录中 修改 setting.py 文件
- 要连接到哪种数据库 : sqlite ? mysql?
- 连接的数据库路径
下面这种配置表示:
1. sqlite 数据库 和 在项目根目录下 创建一个 article.db 数据库文件
2. 数据库的类型 以及 数据库的存储位置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'article.db'),
}
}
step5: 执行 python manage.py makemigrations
改动了 model.py的内容之后执行下面的命令:python manger.py makemigrations相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件
cmd 中会显示
Migrations for 'article':
article\migrations\0001_initial.py
- Create model Article
step6: 执行 python manage.py migrate
在第5步之后执行命令 将该models.py改动 作用到数据库文件,说明 /blog/article数据库文件已经被改变了,生成表格或者操作了数据
cmd 中 显示:
(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py migrate
Operations to perform:
Apply all migrations: admin, article, articles, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying article.0001_initial... OK
Applying articles.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK
step7: 执行 python manage.py sqlmigrate app_name 0001
这个命令用于查看 生成的 sql语句, 这个命令相当于之前 django 版本中的 sqlall
cmd 中显示:
(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py sqlmigrate article 0001
BEGIN;
--
-- Create model Article
--
CREATE TABLE "Article" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(30) NOT NULL, "age" varchar(5) NOT NULL);
COMMIT;
step8: 执行命令 python manage.py dbshell
可以看看数据中是否生成了对应的表,显然本例子中 Article 生成,Articles 是我之前启动的另一个 app
或者 sqlite3 article.db 然后 .tables也可以查看
cmd 中
(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py dbshell
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Article auth_user_groups
Articles auth_user_user_permissions
auth_group django_admin_log
auth_group_permissions django_content_type
auth_permission django_migrations
auth_user
使用 python shell insert 数据到 article.db 中
execute python manage.py shell 进入项目的 python 命令执行环境中
使用python 语法往数据库 insert 数据
>>> from article.models import Article
## 等价写法: from articles import models.Article
>>> Article.objects.create(name='tom',age='12')
<Article: Article object>
>>> Article.objects.create(name='juice',age='13')
<Article: Article object>
查看article.db 数据库:
sqlite article.db
select * from article
sqlite> select * from Article
...> ;
1|tom|12
2|juice|13
sqlite>
来源:https://blog.csdn.net/palmer_kai/article/details/78486409
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- What? 什么是面包屑面包屑是作为辅助和补充的导航方式(secondary navigation scheme),它能让用户知道在网站或应
- 原来图片自适应宽度一般都是通过Javascript来解决的,但是多少还是比较麻烦。还有一种通过设置外层容器overflow:hidden属性
- 本文实例为大家分享了pygame实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下由于这段时间实在是太聊了,没什么事做,游戏也玩腻了,所以
- 本文实例为大家分享了vue动态控制el-table表格列的展示与隐藏的具体代码,供大家参考,具体内容如下1.引入el-table组件,这里我
- 使用场景公司内部使用Django作为后端服务框架的Web服务,当需要使用公司内部搭建的Ldap 或者 Windows 的AD服务器作为Web
- 环境springboot、mybatisPlus、mysql8mysql8(部署在1核2G的服务器上,很卡,所以下面的数据条数用5000,太
- Windows10平台下MySQL的安装、配置、启动和登录及配置环境变量1.1 在MySQL的官网上下载安装文件并配置MySQL提示:在安装
- 在我们开始之前,一定要注意这篇文章只针对Windows用户!对于那些使用Windows的人来说,这是一个有趣的想法。如果您想使用python
- 本文实例讲述了go语言日志记录库简单使用方法。分享给大家供大家参考。具体实现方法如下:package mainimport ( &
- 本文实例讲述了js实现全国省市二级联动下拉选择菜单,分享给大家供大家参考。具体如下:效果图: 具体代码:<html>&
- 什么是迭代(iteration)呢?给定一个list或者tuple,通过for循环来遍历这个list或者tuple、这种遍历就是迭代(ite
- 一切皆是对象在 Python 一切皆是对象,包括所有类型的常量与变量,整型,布尔型,甚至函数。 参见stackoverflow上的一个问题
- 前言今天给大家分享一些Python的基础知识,想要盖好大房子,不把地基打扎实打牢怎么行呢?所以,今天咱们就来学习基础知识,这样后期学习Pyt
- 背景工作中,当我们需要对字符串按照某个字符串切分成字符串数组数时,常用到strings.Split()最近在使用过程中踩到了个坑,后对踩坑原
- 本文为大家分享了Eclipse开发python脚本的具体方法,供大家参考,具体内容如下一、安装python1.访问网址,可以看到如下图所示界
- 一、super函数简介python内置函数super()主要用于类的多继承中,用来查找并调用父类的方法,所以在单重继承中用不用 super
- 1.定义变量时可以直接赋值 DECLARE @Id int = 5 2.Insert 语句可以一次插入多行数据 INSERT INTO St
- 1. 安装clickClick 是 Flask 的开发团队 Pallets 的另一款开源项目,它是用于快速创建命令行的第三方模块。官网文档地
- 本文实例为大家分享了js实现直播点击飘心效果的具体代码,供大家参考,具体内容如下<!DOCTYPE html><html&
- 介绍职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将