python3+django连接postgreSQL数据库

python3+django连接postgreSQL数据库

1.新建python django项目
(1)eclipse中,文件–>新建–>其他–>PyDev Django Project
在这里插入图片描述
(2)项目名称起名为Web_Demo
在这里插入图片描述
(3)项目创建完成
在这里插入图片描述

2.新建app
(1)右击项目–>Django–>Create application(这个是用来连接数据库表的
在这里插入图片描述
(2)取名为DB_Demo
在这里插入图片描述
(3)新建app成功
在这里插入图片描述
(4)settings.py中添加app名称,app名称需要用单引号引起来,并且后面必须加逗号
在这里插入图片描述

3.postgreSQL中创建表并添加数据
下面是sql语句,只执行创建表和插入语句就可以了,其他不重要,是我自己的笔记

drop table if exists user_info cascade; --如果表存在便删除,不重要,是我自己的笔记

--创建表,重要,必须
create table user_info (
	num_id serial --自增
  , user_id integer not null
  , user_name varchar(20) not null
  , user_password bytea not null
  , create_date timestamp not null
  , create_user_id integer not null
  , constraint user_info_PKC primary key (num_id, user_id) --表的主键
) ;

--下面是表以及字段的解释,不重要,是我自己的笔记
comment on table user_info is '用户信息';
comment on column user_info.num_id is '自增ID';
comment on column user_info.user_id is '用户ID';
comment on column user_info.user_name is '用户名';
comment on column user_info.user_password is '用户密码';
comment on column user_info.create_date is '创建日期';
comment on column user_info.create_user_id is '创建者';

--插入数据
insert into user_info
(user_id, user_name , user_password, create_date, create_user_id)
values
(1, 'zhangsan', '123456', now(), 0),
(2, 'lisi',  '123456', now(), 0),
(3, 'wangwu', '123456', now(), 0),
(4, 'zhaoliu', '123456', now(), 0)

4.使用cmd,下载python3+django连接postgreSQL的包

pip install psycopg2

5.settings.py中修改DATABASES的配置

DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'DB_Demo', #数据库名称
        'USER':'postgres',
        'PASSWORD':'abc123',
        'HOST':'localhost',
        'PORT':'5433', #数据库的端口
    }
}

在这里插入图片描述

6.cmd语句直接生成表的字段到models.py中
(1)cmd到自己的项目文件目录下
在这里插入图片描述
(2)生成模型文件

python manage.py inspectdb

在这里插入图片描述
(3)将模型导入创建的app中

python manage.py inspectdb > app/models.py

在这里插入图片描述
(4)去models.py中查看自己的数据库及字段是否已经存在,存在即为连接数据库成功
在这里插入图片描述

7.新建.py文件,查询数据库
(1)新建.py文件,取名为testDb
在这里插入图片描述
testDb.py中的内容

from DB_Demo.models import UserInfo #引入模型
from django.http import HttpResponse

def userInfo(request):

    user = UserInfo.objects.values() #查询数据
    print("user=========", user)

    return HttpResponse(user)

(2)urls.py中添加路径

from django.contrib import admin
from django.urls import path


from django.conf.urls import url #引入url
from Web_Demo import testDb #引入testDb.py

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^userInfo$', testDb.userInfo), #前面是访问的action,后面的文件名.方法名
]

(3)访问链接http://127.0.0.1:8000/userInfo
在这里插入图片描述
数据查询完毕!!!

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值