当前位置:首页 » 操作系统 » django自带数据库

django自带数据库

发布时间: 2022-07-08 01:38:48

‘壹’ Django搭配什么数据库

Django默认的数据库是sqlite,也可以使用其它主流的数据库,推荐使用Mysql

‘贰’ python中,django框架模式有什么

Django发布于2005年,是当前Python世界里最负盛名且成熟的网络框架,最初用来制作在线新闻的Web站点。

Django是一个用Python编写的开放源代码的Web应用框架,采用了MVC的框架模式,也有很多人把它称为MVT模式。

优点:

功能完善且要素齐全:自带大量常用的工具和框架,适合快速开发企业级网站;

完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档,开发者遇到问题可以搜索在线文档寻求解决方案;

强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无需学习SQL语言即可对数据库进行操作;

先进的APP设计理念:APP是可插拔的,是不可多得的思想,不需要了可以直接删除,对系统整体影响不大;

自带台管理系统admin:只需要通过简单几行配置和代码就可以实现一个完整的后台数据管理控制平台。

缺点:

大包大揽:对比flask框架来讲,Django不够轻便,包括的功能太多了;

过度封装:很多类和方法都封装了,直接使用比较简单,改动比较困难;

性能劣势:Django性能偏低;

模板问题:Django的模板实现了代码和样式完全分离,不允许模板里出现Python代码,灵活度对某些程序员来说可能不够。

‘叁’ Django 是不是不用写后台的,用自带的 admin 管理数据库就行了

Django是个框架,后台是固定的,只可以小范围修改,差不多算是不用些后台

‘肆’ django 数据库使用

在django程序外部使用django models,我给你端示例代码你看看:

fromdjango.core.managementimportsetup_environ
importQB.settings
setup_environ(QB.settings)
fromrecharge.modelsimportOrder,FailGetOrder

QB是我的project名称,recharge是我的app名称

‘伍’ 【Python基础】django默认数据库是什么

没有配置的话默认数据库是sqlite,可以在setting里的DATABASES进行数据库配置

‘陆’ django支持哪些数据库

常见的关系数据库postgresql、mysql、oracle、sqlite这些都支持,官方优先推荐PostgreSQL关系数据库。
除上面之外还支持以下数据源:
SAP SQL Anywhere
IBM DB2
Microsoft SQL Server
Firebird
ODBC

‘柒’ django怎么使用本机mysql数据库

step 1:

修改你的django project目录下的settings.py 文件至如下所示:

其中,'NAME' 对应的 ‘db_name' 是你事先使用mysql
的命令行提示符创建的数据库名称。注意:在django使用数据库之前,你必须先创建出数据库,否则会报错。'USER'对应的'username'
还有 'PASSWORD' 对应的‘passwd'
就是你在mysql中创建的用户名和密码。如果你有多个的话,随便填一个就好。'HOST'和'PORT'默认都可以不填。

题外话: 使用用户名和密码登录mysql的方法:

首先,你需要进入 mysql/bin的目录下,也可以在.bash_profile中设置环境变量:

PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/

再在prompt输入 mysql -u username -p, 回车后再输入 passwd即可

step 2:

然后,在manage.py路径中使用python manage.py syncdb 试试,结果会提示你错误找不到 MySQLdb 这个mole, 为什么呢, 因为 python manage.py syncdb 命令是这样工作的:

1. 在project目录的settings.py的INSTALLED_APPS元组中找到可能需要更新的APP。

2. 找到每一个APP目录中的models.py (关系定义文件),并针对变化在数据库中进行更新。

说了这么多,前面那个错误 找不到 mole MySQLdb 是什么意思啊 ?

先给个图,再解释:

因为在models.py中定义关系使用的是python,而真正在数据库中操作形成model当然一定要用sql语句,所以必须要有一些功能模块
来把python语句转化成sql语句。如果你使用sqlite的话,由于sqlite和转化模块都已经由python内置了,所以直接使用不会发生错
误。但是 ”mysql语句的转化模块“ 就需要你手动加载了,这些模块放在 MySQL-python 中。

我是使用pip 安装的:

安装了之后,再使用 python manage.py syncdb就OK啦。

我使用的系统是 OS X,下面是 mysql 默认的安装路径

/usr/local/Cellar/mysql/5.6.22/

如果你想知道你的数据库文件是放在哪里的,你可以查看mysql_config文件中的ldata变量,这个变量的值就是 默认的数据库文件夹存储的路径。 我的系统中,mysql_config的完整路径是 :

/usr/local/Cellar/mysql/5.6.22/bin/mysql_config

‘捌’ django怎样自动创建数据库table

django创建数据库表方法如下:

catcher:mysitecatcher$pythonmanage.pymakemigrationsbooks
Migrationsfor'books':
0001_initial.py:
-CreatemodelAuthor
-CreatemodelBook
-CreatemodelPublisher
-Addfieldpublishertobook
catcher:mysitecatcher$pythonmanage.pysqlmigratebooks0001
BEGIN;
--
--CreatemodelAuthor
--
CREATETABLE"books_author"("id","first_name"varchar(30)NOTNULL,"last_name"varchar(40)NOTNULL,"email"varchar(254)NOTNULL);
--
--CreatemodelBook
--
CREATETABLE"books_book"("id","title"varchar(100)NOTNULL,"publication_date"dateNOTNULL);
CREATETABLE"books_book_authors"("id","book_id"integerNOTNULLREFERENCES"books_book"("id"),"author_id"integerNOTNULLREFERENCES"books_author"("id"));
--
--CreatemodelPublisher
--
CREATETABLE"books_publisher"("id","name"varchar(30)NOTNULL,"address"varchar(50)NOTNULL,"city"varchar(60)NOTNULL,"state_province"varchar(30)NOTNULL,"country"varchar(50)NOTNULL,"website"varchar(200)NOTNULL);
--
--Addfieldpublishertobook
--
ALTERTABLE"books_book"RENAMETO"books_book__old";
CREATETABLE"books_book"("id","title"varchar(100)NOTNULL,"publication_date"dateNOTNULL,"publisher_id"integerNOTNULLREFERENCES"books_publisher"("id"));
INSERTINTO"books_book"("publication_date","publisher_id","id","title")SELECT"publication_date",NULL,"id","title"FROM"books_book__old";
DROPTABLE"books_book__old";
CREATEINDEX"books_book_2604cbea"ON"books_book"("publisher_id");

COMMIT;
catcher:mysitecatcher$


catcher:mysitecatcher$sudopythonmanage.pymigratePassword:Operationstoperform:Applyallmigrations:admin,contenttypes,books,auth,sessionsRunningmigrations:Renderingmodelstates...DONEApplyingcontenttypes.0001_initial...OKApplyingauth.0001_initial...OKApplyingadmin.0001_initial...OKApplyingadmin.0002_logentry_remove_auto_add...OKApplyingcontenttypes.0002_remove_content_type_name...OKApplyingauth.0002_alter_permission_name_max_length...OKApplyingauth.0003_alter_user_email_max_length...OKApplyingauth.0004_alter_user_username_opts...OKApplyingauth.0005_alter_user_last_login_null...OKApplyingauth.0006_require_contenttypes_0002...OKApplyingauth.0007_alter_validators_add_error_messages...OKApplyingbooks.0001_initial...OKApplyingsessions.0001_initial...OKcatcher:mysitecatcher$

‘玖’ 什么是django

Django是用Python开发的一个免费开源的Web框架,提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。并且囊括的Web应用部分可以用于快速搭建高性能、优雅的网站。并且提供了通用Web开发模式的高度抽象,通过DRY的理念为频繁进行的编程作业提供了快速解决方法。
Django能在开源发行之后吸引众多追随者,离不开它所具备的以下优点:
①齐全的功能。自带大量常用工具和框架,可轻松、迅速开发出一个功能齐全的Web应用。
②完善的文档。Django已发展十余年,具有广泛的实践案例,同时Django提供完善的在线文档,Django用户能够更容易地找到问题的解决方案。
③强大的数据库访问组件。Django自带一个面向对象的、反映数据模型与关系型数据库间的映射关系的映射器,开发者无须学习SQL语言即可操作数据库。
④灵活的URL映射。Django提供一个基于正则表达式的URL分发器,开发者可灵活地编写URL。
⑤丰富的模板语言。Django模板语言功能丰富,支持自定义模板标签;Django也支持使用第三方模板系统,如jinja2等。
⑥健全的后台管理系统。Django内置了一个后台数据管理系统,经简单配置后,再编写少量代码即可使用完整的后台管理功能。
⑦完整的错误信息提示。Django提供了非常完整的错误信息提示和定位功能,可在开发调试过程中快速定位错误或异常。
⑧强大的缓存支持。Django内置了一个缓存框架,并提供了多种可选的缓存方式。
⑨国际化。Django包含了一个国际化系统,Django组件支持多种语言。

热点内容
云主机哪个配置好 发布:2024-11-19 13:34:43 浏览:967
c语言数字u 发布:2024-11-19 13:34:02 浏览:960
九游游戏安卓手机下载慢怎么回事 发布:2024-11-19 13:29:03 浏览:431
无线存储共享器怎么样 发布:2024-11-19 13:29:02 浏览:110
外网服务器搭建vpn 发布:2024-11-19 13:20:39 浏览:370
淘宝分销一键上传 发布:2024-11-19 13:18:01 浏览:179
ftpgetfilesize 发布:2024-11-19 13:12:59 浏览:959
14位数密码有多少种可能 发布:2024-11-19 12:48:11 浏览:110
删除引索的sql语句 发布:2024-11-19 12:39:13 浏览:64
智能车算法 发布:2024-11-19 12:34:49 浏览:777