1.SQLite管理员账号创建

SQLite 是 Django 默认的数据库体量上类似与 Apache Derby,配置信息如下:

DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': BASE_DIR / 'db.sqlite3',}
}

makemigrations 为模型的改变生成迁移文件,migrate 实现应用数据库迁移,切换数据库或者添加新的module后要执行以上命令:

python .\manage.py migrate

否则创建管理员账号时会报错no such table: auth_user当然,未创建admin账号就登录同样报这个错:

OperationalError at /admin/login/
no such table: auth_user
# 创建管理员账号 admin
python .\manage.py createsuperuser
# 输入管理员账号名称
Username (leave blank to use 'administrator'): admin_test
# 输入Email地址
Email address: admin_test@example.com
# 输入密码
Password:
Password (again):
The password is too similar to the username.
Bypass password validation and create user anyway? [y/N]: y
# 创建成功
Superuser created successfully.

页面登录http://host:port/admin/输入账号名称和密码登录:

2.GreenPlum管理页面使用

2.1 数据库配置及初始化

Django 支持许多不同的数据库服务器,官方支持 PostgreSQL、MariaDB、MySQL、Oracle 和 SQLite。其他 DataBase Bindings 信息可以查看官网,这里仅以 PostgreSQL 的孪生兄弟 GreenPlum 数据库举例,也算是测试对 GP 数据库的支持情况。ENGINE用的也是postgresql的,其他信息如下:

DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql','NAME': 'algorithmcenter','USER': 'xxxx','PASSWORD': 'xxxx','HOST': 'hostname','PORT': '5432',}
}

使用 PostgreSQL,需要 psycopg2 包,使用 GreenPlum 同样是需要的,安装 psycopg2-binary 命令如下:

# 安装命令
pip3 install psycopg2-binary
# 安装过程
Collecting psycopg2-binaryDownloading psycopg2_binary-2.9.3-cp38-cp38-win_amd64.whl (1.1 MB)|████████████████████████████████| 1.1 MB 21 kB/s
Installing collected packages: psycopg2-binary
Successfully installed psycopg2-binary-2.9.3

migrate时报错:

django.db.utils.IntegrityError:
UNIQUE index must contain all columns in the distribution key of relation "django_content_type"

由于GP数据库跟PG数据库还是存在一些语法不一致的地方,这里将SQLite里的10张表同步到GP并创建auth_userid字段的自增序列:

CREATE SEQUENCE greenplum_sequence START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
ALTER TABLE auth_user ALTER COLUMN ID
SET DEFAULT nextval( 'greenplum_sequence' );

修改django_session表的expire_date字段格式由text 改为 timestamp否则登录时报错。

2.2 管理员账号创建

# 账户创建
python .\manage.py createsuperuser
Username (leave blank to use 'administrator'): test
Email address: test@qq.com
Password:
Password (again):
The password is too similar to the username.
This password is too short. It must contain at least 8 characters.
This password is too common.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

登录成功页面不再贴出。

2.3 Django数据库API使用

简单测试,更多API查看 官网。

from xxxx.models import Choice, Question
Question.objects.all()
from django.utils import timezone
q = Question(question_text="What's new?", pub_date=timezone.now())
q.save()
q.id
q.question_text
q.pub_date
q.question_text = "What's up?"
q.save()
Question.objects.all()

2.4 应用添加

在应用文件夹下的admin.py文件内添加注册代码:

# Register your models here.
from .models import Question
admin.site.register(Question)


新增数据:


修改数据:

3.总结

Django 对 GreenPlum 数据库的支持不好,几乎不可用,可以非官方支持的数据库可放弃使用其数据库 API。

Python【算法中心 02】Web框架Django管理页面使用(管理员账号创建+API使用+应用添加)GreenPlum数据库引擎及API测试相关推荐

  1. python搭建django框架,Python之Web框架Django项目搭建全过程

    Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mysql:5.5 注:可通过pip fre ...

  2. Python Web框架Django学习(二)

    python web框架Django学习(二) 目录:  三.Django创建APP  四.创建登录页面,实现用户交互,后台管理用户(非数据库方式) ========================= ...

  3. python的Web框架Django运行报错:Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx'

    python的Web框架Django运行报错:Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx' ...

  4. Web框架Django使用概览

    Web框架Django使用概览 标签: django python 1 开始一个新项目 django的安装比较简单,在命令行里执行下面的命令. pip install django 为了能使用djan ...

  5. 『Python学习笔记』Python中的异步Web框架之fastAPI介绍RestAPI

    Python中的异步Web框架之fastAPI介绍&RestAPI 文章目录 一. fastAPI简要介绍 1.1. 安装 1.2. 创建 1.3. get方法 1.4. post方法 1.5 ...

  6. 开源web框架django知识总结(二十二)

    开源web框架django知识总结(二十二) 支付 提示: 如果用户选择的支付方式是 "支付宝" ,在点击<去支付>时对接支付宝的支付系统. 支付宝介绍 支付宝开放平台 ...

  7. Django3创建数据库表模型及 Django 管理页面

    前提条件 Django3创建项目及应用 查看所使用的数据库 打开test01/settings.py,查看使用的是sqlite3 DATABASES = {'default': {'ENGINE': ...

  8. Python【算法中心 01】Web框架Django入门(安装+项目创建+应用创建+服务启动)Python搭建算法中心后台实例分享

    Django 官网 有详细的使用说明,这里只做简单记录. 1.起因 Java 项目用到了 Python 的类库,使用jython-standalone在 idea 里可以调用,但是部署时模块无法找到, ...

  9. Python的web框架Django(1):HTTP、简介、静态文件配置、路由系统、视图函数、模板语言、ORM、Ajax、分页器、forms、Cookie、Session、中间件、ModelForm

    1. HTTP协议 1)HTTP请求协议 请求格式 POST(方法) /form/entry(URI) HTTP/1.1(协议版本) HOST:hackr.jp(服务端地址) Connection:k ...

最新文章

  1. python3.7安装turtle步骤-Python怎么引入turtle
  2. sdn专线架构是怎样的?如何工作?——Vecloud
  3. 深入学习linux socket编程之select
  4. 2019计算机二级java软件_2019年计算机二级Java考试冲刺题及答案(2)
  5. ​使用高斯过程回归指导网络轻量化
  6. C#控制台程序取得INSOYA视频区的视频的真实URL,视频标题,发布时间集合。
  7. oracle jinitiator版本太旧,Windows7系统运行java软件提示Oracle JInitiator版本太旧怎么办...
  8. WebMvc中MultipartFile文件上传
  9. 机器学习基础算法30-贝叶斯网络理论
  10. XP系统无法远程桌面
  11. 快速将多个excel表合并成一个excel表---内附代码
  12. 【小插件】文字镂空“LSP”制作空心文字CAD
  13. QCalendarWidget 日历控件
  14. android studio蓝牙低功耗,arduino ESP32 AndroidStudio BLE低功耗蓝牙 物联网
  15. 关于语义分割预测出来的图片全黑的解决办法
  16. patch 修补文件命令
  17. 合成大西瓜游戏|微信合成大西瓜游戏技巧及资源
  18. IBM3650M4实体机安装ESXI7.0
  19. java comm api_java基于RXTXcomm.jar的串口通信
  20. BearPi-HM_Nano开发板“护花使者”案例

热门文章

  1. poj 1469 二分图最大匹配
  2. RQNOJ103_最大利润
  3. Java版世界时钟示例
  4. mysql运用与实践_MySQL开发与实践 PDF 下载
  5. mysql8中文排序_mysql中utf8编码的中文字段按拼音排序
  6. java 映射类_将数据库类型映射到具体的Java类
  7. Java迭代器中的next()方法
  8. 标定中是什么意思_机械加工中,测头有什么作用呢?
  9. linux用avk怎么提取字符,在Linux下进行视频音频格式转换提取等
  10. android 蓝牙通讯实现手机蓝牙的开启,并扫描附近可见的蓝牙设备