当前位置: 首页 > 网络应用技术

Django如何使用自己的数据库?

时间:2023-03-06 00:59:11 网络应用技术

  指南:许多朋友询问了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如何使用自己的数据库。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?