指南:许多朋友询问了Django如何使用自己的数据库。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
1.安装Django
[播放]查看普通副本
CD Django-1.4
python setup.py安装
2.安装PostgreSQL的客户端:
[播放]查看普通副本
sudo apt-get安装-y postgresql-client-9.1 python-psycopg2
3.创建项目:
[播放]查看普通副本
django-admin.py startproject myproject
4.在myproject下创建一个新应用:
[播放]查看普通副本
python manage.py startapp myapp
4.添加的环境变量:
编辑/etc/profile文件,最后添加以下句子:
[播放]查看普通副本
跨度样式=“颜色:#ff0000;”导出pythonpath = $ pythonpath:/home/yc/src/myproject
导出django_settings_module = myproject.settings/span
5。
假设数据库是由Django的另一个应用程序(其他应用程序的名称)构建的。
192.168.1.23.有一个好数据库中的表格,名称为其他app_user,然后将otherapp/models.py复制到myApp
/models.py。
请注意,检查类meta:Models.py下的类用户类的一部分:如果没有Applabel标签,请添加:app_label ='其他应用程序'
在/home/home/yc/src/myproject下修改settings.py文件,如下:如下:
[播放]查看普通副本
数据库= {
'默认': {
'引擎':'django.db.backends.postgresql_psycopg2',#add'postgresql_psycopg2','mysql','sqlite3'或oracle'。
'name':'mydb',#'vps2db_test1'或数据库文件的路径,如果使用sqlite3。
“用户”:“ postgres”,#未与sqlite 3一起使用。
'密码':'123',#未与sqlite 3一起使用。
“主机”:'192.168.1.23',#设置为Localhost的空字符串。不适用于sqlite3。
'port':'5432',#设置为默认值的空字符串。不适用于sqlite3。
}
}
[播放]查看普通副本
instasted_apps =((
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'跨度样式=“颜色:#ff0000;”myapp/span',
治愈
6.在MyApp目录下编写测试程序
[python]查看普通副本
从型号导入用户
如果__名称__ ==“ __ main__”:
尝试:
u = user.objects.get(id = user_id)
除user.doesnotexist外:
打印“不存在的用户)
没有返回
别的:
返回你
在Internet上看到使用Django的模型和MAKEMIGRATION,迁移命令创建新表并使用它。但是我的数据已经存在,并且已经存储了,并且已经存储了数据,并且无法创建新表格。Django的指示和与模型名称的映射关系可以使Django使用现有表。
如果模型在Django中存在如下:
[python]查看普通副本
来自django.db导入模型
#在这里创建您的模型。
Sciencenews(Models.Model):
id = models.charfield(max_length = 36,primary_key = true)
first_module = model.charfield(max_length = 30,默认值=“ news”)
second_module = model.charfield(max_length = 30,默认值=“最新新闻”)
title = models.charfield(max_length = 300)
作者= models.charfield(max_length = 60,null = true)
publish_date = models.charfield(max_length = 35,null = true)
content = model.textfield(null = true)
crawl_date = model.charfield(max_length = 35,null = true)
from_url = models.charfield(max_length = 350,null = true)
执行数据迁移命令:
[python]查看普通副本
python manage.py makemign
python manage.py迁移
名为show_sciencenews的数据表将在数据库中生成。显示为应用程序名称。我的应用程序名称在此处显示。
我的存储和攀登数据数据的表名是Science_News,我想使用它来使用它而不是创建新表。其名称的名称更改为带有表格的模型的名称,在这里我更改为show_sciencenews。然后使用上述数据迁移命令。目前,可以提示数据表数据表已经存在错误。不合理的模型已使用数据表映射。接下来,您只需要正常使用模型和数据表即可。
方法/步骤
修改设置中的数据库
数据库= {
'默认': {
'引擎':'django.db.backends.mysql',
“名称”:'书籍',#your数据库名称
“用户”:“ root”,#your数据库用户名
'密码':'',#your数据库密码
'主机':'',#your数据库主机,停留在localhost的简短默认值中
'端口':'3306',#your数据库端口
}
}
instasted_apps =((
“书籍”,#您的数据库名称
治愈
在MySQL中创建书籍数据库
检查是否有语法错误
使用python manage.py sqlall书籍显示mysql语法
在Python Manage.py同步同步模型中使用数据库
成功的创造!
Django1.6中数据库的设置不需要修改。它与以前的ISQLDB相同,如下所示:
1个数据库= {
2'默认值':{
3'引擎':'django.db.backends.mysql',#database Engine
4'名称':'test',#database名称
5'ser':'root',#username
6“密码”:“ root',#6
7“主机”:'',#database主机,默认为localhost
8'端口':'',#database端口,mysql默认为3306
9'选项':{
10“自动参与者”:是的,
11},,
12}
13}
最关键的一点是,在网站的__init__.py文件中,我们添加以下代码:
1导入pymysql
2 pymysql.install_as_mysqldb()
执行上述操作后,您可以在Django中访问MySQL。
结论:以上是首席CTO汇编的Django相关内容的摘要,请注意Django如何使用自己的数据库。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?