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
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,后面的文件名.方法名
]