首页>>后端>>Python->django如何使用自带的数据库?

django如何使用自带的数据库?

时间:2023-12-25 本站 点击:0

导读:很多朋友问到关于django如何使用自带的数据库的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

如何独立使用django的数据库访问功能

1. 安装Django

[plain] view plain copy

cd Django-1.4

python setup.py install

2. 安装postgresql的客户端:

[plain] view plain copy

sudo apt-get install -y postgresql-client-9.1 python-psycopg2

3. 新建project:

[plain] view plain copy

django-admin.py startproject myproject

4. 在myproject下新建app:

[plain] view plain copy

python manage.py startapp myapp

4. 新增环境变量:

编辑/etc/profile文件,在末尾加入以下语句:

[plain] view plain copy

span style="color:#FF0000;" export PYTHONPATH=$PYTHONPATH:/home/yc/src/myproject

export DJANGO_SETTINGS_MODULE=myproject.settings/span

5.

假设数据库已经由Django的另一个应用(名称为otherapp)建好,数据库类型是postgresql,名称为mydb,位于

192.168.1.23。见好的数据库中有一个表,名称是otherapp_user,则将otherapp/models.py拷贝到myapp

/models.py。

注意检查models.py下的class user类的class Meta:部分,如果没有applabel标签,则要加上:app_label='otherapp'

再修改/home/yc/src/myproject下的settings.py文件,如下:

[plain] view plain copy

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.

'NAME': 'mydb', # 'vps2db_test1' Or path to database file if using sqlite3.

'USER': 'postgres', # Not used with sqlite3.

'PASSWORD': '123', # Not used with sqlite3.

'HOST': '192.168.1.23', # Set to empty string for localhost. Not used with sqlite3.

'PORT': '5432', # Set to empty string for default. Not used with sqlite3.

}

}

[plain] view plain copy

INSTALLED_APPS = (

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.sites',

'django.contrib.messages',

'django.contrib.staticfiles',

'span style="color:#FF0000;"myapp/span',

)

6. 在myapp目录下编写测试程序

[python] view plain copy

from models import user

if __name__=="__main__":

try:

u = user.objects.get(id=user_id)

except user.DoesNotExist:

print "user not exist)

return None

else:

return u

django使用已有的数据库表怎么建立model

在网上看到都是使用Django的models和makemigration,migrate命令来创建新表,并使用。可是我的数据已经存在了已经创建好,并且已经存储有数据了,不能再重新创建新表了。了解Django的表明和models名称的映射关系就可以让Django使用已经存在的表。

假如在Django存在models如下:

[python] view plain copy

from django.db import models

# Create your models here.

class Sciencenews(models.Model):

id = models.CharField(max_length=36,primary_key=True)

first_module = models.CharField(max_length=30,default="News")

second_module = models.CharField(max_length=30,default="Latest News")

title = models.CharField(max_length=300)

author = models.CharField(max_length=60,null=True)

publish_date = models.CharField(max_length=35,null=True)

content = models.TextField(null=True)

crawl_date = models.CharField(max_length=35,null=True)

from_url = models.CharField(max_length=350,null=True)

执行数据迁移命令:

[python] view plain copy

python manage.py makemigration

python manage.py migrate

会在数据库中生成名称为show_sciencenews的数据表。show为应用名称,此处我的应用名称为show。可以看到Django创建表的命名规则:应用名_模型名。

我的存储爬取到的数据的表格名称原来为science_news,想要Django使用它,而不是创建新的表,只需要把的它的名称改为:应用名_要与该表映射的models名称,在此处我改为show_sciencenews。然后使用如上的数据迁移命令,这时可能会提示数据表已经存在的错误,不用理会,models已经和数据表映射上了。接下来只需要正常使用models和数据表就可以了。

django怎么使用mysql数据库

方法/步骤

修改setting.py里面的DATABASES元组为

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'books', #你的数据库名称

'USER': 'root', #你的数据库用户名

'PASSWORD': '', #你的数据库密码

'HOST': '', #你的数据库主机,留空默认为localhost

'PORT': '3306', #你的数据库端口

}

}

INSTALLED_APPS = (

'books',#你的数据库名称

)

在mysql里面创建books数据库

检查配置是否有语法错误

使用python manage.py sqlall books 显示mysql语法

使用python manage.py syncdb同步模型中的数据库

创建成功!

如何在Django1.6结合Python3.4版本中使用MySql

关于Django1.6中DATABASES的设置也是一样不用做任何修改,跟以前MySQLdb的时候一样,如下所示:

1 DATABASES = {

2 'default': {

3 'ENGINE': 'django.db.backends.mysql', #数据库引擎

4 'NAME': 'test', #数据库名

5 'USER': 'root', #用户名

6 'PASSWORD': 'root', #密码

7 'HOST': '', #数据库主机,默认为localhost

8 'PORT': '', #数据库端口,MySQL默认为3306

9 'OPTIONS': {

10 'autocommit': True,

11 },

12 }

13 }

最关键的一点,在站点的__init__.py文件中,我们添加如下代码:

1 import pymysql

2 pymysql.install_as_MySQLdb()

做完上述动作后,即可在django中访问mysql了。

结语:以上就是首席CTO笔记为大家整理的关于django如何使用自带的数据库的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/59880.html