简介:今天,首席CTO Note将与您分享Django如何运行数据库的相关内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
本文目录清单:
1. Django的许多数据库,如何求解2.如何使用mySQL数据库3,django如何在管理员4中显示数据库的内容。Django 6,djangohow要从数据库→程序中选择“开始”菜单→[管理SQL Server 2008]→[SQL Server Management Studio]命令,打开[SQL Server Management Studio]窗口,并使用Windows或SQL Server Authtication建立一个联系。
在[对象资源管理器]窗口中展开服务器,然后选择[数据库]节点
右 - 单击[数据库]节点,从pop -up快捷方式菜单中选择[新数据库]命令。
执行上述操作后,[新数据库]对话框将弹出。对话框和左侧有3个选项,即[常规],[选项]和[文件组]。完成设置后这三个选项,数据库的创建已完成。
输入数据库的名称,以在[数据库名称]中创建一个新数据库。例如,这是“新数据库”。
在文本框中输入新数据库的所有者,例如sa.cording,以使用数据库,选择或禁用[全文索引]复选框。
在[数据库文件]列表中包括两行,一个是数据库文件,另一个是日记文件。ADD或通过单击下面的[add]和[删除]按钮删除数据库文件。
切换到[可选页面],您可以在其中设置数据库的排序规则,恢复模式,兼容性级别和其他属性。
切换到[文件组]页面,您可以在此处添加或删除文件组。
完成上述操作后,单击[确定]按钮以关闭[新数据库]对话框。在这一点上,成功创建了“新数据”数据库。可以在[Object Resource Manager中看到新构建的数据库] 窗户。
方法/步骤
修改设置中的数据库
数据库= {
'默认': {
'引擎':'django.db.backends.mysql',
“名称”:'书籍',#your数据库名称
“用户”:“ root”,#your数据库用户名
'密码':'',#your数据库密码
'主机':'',#your数据库主机,停留在localhost的简短默认值中
'端口':'3306',#your数据库端口
}
}
instasted_apps =((
“书籍”,#您的数据库名称
治愈
在MySQL中创建书籍数据库
检查是否有语法错误
使用python manage.py sqlall书籍显示mysql语法
在Python Manage.py同步同步模型中使用数据库
成功的创造!
操作方法:首先,运行python manage.py创建useperuser命令以创建一个管理员帐户。
然后在URL中输入/管理员以到达管理员登录页面。登录后,您会发现由于我们尚未注册,因此数据库中没有任何项目可显示。
接下来,我们注册管理中管理的数据模型;在Admin.py中注册模型。然后刷新页面,您可以看到ContoryMessage的数据表,可以添加和删除以简单添加,删除和更改。
步骤1:
在您的django项目目录中修改settings.py文件,如下所示:
其中,“ db_name'对应于'name'
命令行提示符创建的数据库名称:注意:在Django使用数据库之前,您必须创建数据库,否则将报告错误。
还有与“密码”相对应的“ passwd”
这是您在MySQL中创建的用户名和密码。如果您有多个,只需随便填写一个。“ host”和“ port”默认情况下不能填写。
出色:使用用户名和密码登录到mySQL方法:
首先,您需要输入MySQL/bin目录,也可以在.bash_profile中设置环境变量:
路径=/usr/local/bin:/usr/bin:/bin:/sbin:/sbin:/usr/sbin:/usr/usr/local/sbin:/usr/local/mysql/5.6.22/bin/
在提示中输入MySQL -U用户名-P,然后在返回后输入PassWD。
第2步:
然后使用Python Manage.py SynCDB在Manage.py路径中尝试。结果将表明您找不到MySQLDB模块。为什么,因为python manage.py syncdb命令正常工作:
1.查找可能需要在项目目录中的stentaim_apps Metal of Attectings.py中续订的应用程序。
2.在每个应用程序目录中找到Models.py(关系定义文件),并更新数据库中的更改。
说了很多话,模块mysqldb在上一个错误中意味着什么?
首先给图片,然后解释:
因为Python用于定义模型中的关系。当然,必须在数据库中使用它来形成SQL语句,因此必须有一些功能模块。
来将Python语句转换为SQL语句。如果您使用SQLITE,因为SQLITE和转换模块已由Python构建,直接使用直接使用不会是错误的
错误。但是“ MySQL语句转换模块”需要您手动加载,这些模块放在MySQL-Python中。
我用pip安装了它:
安装后,请使用Python Manage.py SynCDB为正常。
我使用的系统是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
1.2后,Django支持使用多个DB。那么如何使用呢?
1.修改设置
01Databases = {
02'默认值':{
03'名称':'app_data',
04'引擎':'django.db.backends.postgresql_psycopg2',
05'用户':'Postgres_user',
06'密码':'s3krit'
07},,
08“用户”:{
09'名称':'user_data',
10'引擎':'django.db.backends.mysql',
11“用户”:“ mysql_user”,
12'密码':'priv4te'
13}
14}
15
16database_routers = ['path.to.myapprouter']
2.实现自己的数据库路由器,该路由器确定每个程序使用哪个DB。
01class myapprouter(对象):
02”路由器控制模型上所有数据库操作的路由器
03 MyApp应用程序“”“”“”“”
04
05 def db_for_read(self,model,**提示):
06“指向MyApp模型上的所有操作
07如果model._meta.app_label =='myApp':
08返回“其他”
09返回无
10
11 def db_for_write(self,model,**提示):
12“点上的MyApp模型的所有操作都可以'其他'”
13如果model._meta.app_label =='myApp':
14返回“其他”
15返回无
16
17 def laster_relation(self,obj1,obj2,**提示):
18“如果涉及MyApp中的模型,请允许任何关系”
19如果obj1._meta.app_label =='myApp'或obj2._meta.app_label =='myapp'
20返回正确
21返回无
22
23 def allow_syncdb(self,db,型号):
24“确保MyApp应用仅出现在'其他db”上
25如果db =='其他':
26返回模型._META.APP_LABEL =='myApp'
27 elif model._meta.app_label =='myApp':
28返回错误
29返回无
同步数据库时,默认值将同步到默认数据库。当然
[播放]查看平原复制打印?
tt class =“ xref std std std std djadminopt docutils fillal” style =“ text-design:none; white spie:nowrap; nowrap; color:rgb(35,79,50); margin section:0px; 0px; margin-righh:margin-righh:margin-righh:边界底宽:1px;边界底彩:RGB(35、79、50);边界Xyle:点缀;
$ https://www.shouxicto.com/article/manage.py syncdb -database =用户/tt
那么如何在程序中选择?
例如,以下代码将选择默认数据库
[python]查看普通复制打印?
跨度样式=“ font-family:monospace;颜色:#234f32;”#这将在“默认”数据库上运行。
rution.objects.all()
#这会。
rution.objects.using('默认值')。all()/跨度
但是以下代码将选择其他数据库
[python]查看普通复制打印?
跨度样式=“ font-family:monospace;颜色:#234f32;”#这将在“离子”数据库上运行。
wuter.objects.using('其他')。all()/跨度
以上是查询情况。
[python]查看普通复制打印?
跨度样式=“ font-family:monospace;颜色:#234f32;
删除时
[python]查看普通复制打印?
跨度样式=“ font-family:monospace;颜色:#234f32;”u = user.objects.using('legacy_users')。获取(用户名='Fred')
u.delete()#将从`勒格_users的数据库/跨度删除
Django有自己的ORM模块。
从流行的角度来看,该过程如下:
在django中写python代码
通过ORM模块将Python代码转换为SQL语句
通过数据库操作模块,例如PymySQL,使用SQL语句,然后访问数据库访问数据
上述过程的相反方向
获取Python格式的数据
结论:以上是Django如何运行首席CTO注释引入的数据库的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。