002-Django数据库及后台admin配置
连接mysql数据库
数据库准备
- 如果连接本机数据库,mysql安装及配置可参考https://www.cnblogs.com/feizisy/p/11882521.html
- 如果连接阿里云RDS,需要阿里云工作台-数据安全性-白名单内添加外网IP
白名单设置:
127.0.0.1 不允许任何IP访问
0.0.0.0/0 允许任何IP访问
创建数据库
本机:
create database your_database_name
阿里云:阿里云工作台-数据库管理-创建数据库
yourprojectname/settings.py 配置数据库
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases DATABASES = {
'default': dict(ENGINE='django.db.backends.mysql',
HOST='your_host',
#本机数据库,使用127.0.0.1
#阿里云数据库,使用阿里云工作台-数据库连接-外网地址
PORT='3306',
NAME="your_database_name",
USER='your_username',
PASSWORD='your_password')
}
yourprojectname/init.py 下更改pymysql驱动,原默认为mysqldb(python3不再支持)
import pymysql
pymysql.install_as_MySQLdb()
yourappname/models.py 创建数据库表
from django.db import models """
用户表
""" class User(models.Model):
username = models.CharField(verbose_name="用户名", max_length=20, unique=True, null=True)
status = models.CharField(verbose_name="用户状态", max_length=4, null=True,help_text="0:已删除;1:使用中",default=1)
iphone = models.CharField(verbose_name="手机号", max_length=11, unique=True, null=True)
email = models.EmailField(verbose_name="邮箱", max_length=20, unique=True)
signature = models.TextField(verbose_name="签名", max_length=500)
createtime = models.DateTimeField(verbose_name="创建时间", auto_now=True) def __str__(self):
return self.realname
数据库同步,终端执行,中间可能会遇到部分问题,参考https://www.cnblogs.com/feizisy/p/11847996.html
python manage.py makemigrations
python manage.py migrate #创建数据库表
迁移完成,可以在终端执行show tables,或者阿里云官网或navicat客户端查看django自带的一些表和你自己创建的User表
插入一条数据吧,在你的User表里,命令插入或者后面admin后台页面插入
#如果命令插入的时候遇到更新中文字符,编码问题,三层更改为utf8 alter database hf character set utf8;
alter table auth_user default character set utf8;
alter table auth_user change signature signature varchar(500) character set utf8;
models详细的数据操作
from yourappname.models import User
from datetime import datetime
# 创建一个用户
>>> User.objects.create(username = "仙女",status = "1", iphone = "18832288888", email = "feizisy@126.com", signature = "今天也要开心哟", createtime = datatime(2019,11,22,20,58))
# 查询User中所有的对象列表
>>> User.objects.all()
<QuerySet [User:仙女]>
# 查询User中符合条件的对象列表
>>> User.objects.filter(username = "仙女")
# 查询符合条件的对象
>>> User.objects.get(id=1)
<User:仙女>
>>> User.objects.get(username__startswith='仙')
<User:仙女>
>>> User.objects.get(username__contains='女')
<User:仙女>
>>> User.objects.get(id=2)
Traceback (most recent call last):
...
DoesNotExist: User matching query does not exist.
# 更新数据
>>> r = User.objects.get(id=1)
>>> r.username = "大仙女"
>>> r.save()
# 打印查看
>>> r.username
大仙女
# 删除该条数据
>>> r.delete()
pymysql的补充操作
import pymysql
# 连接数据库
conn = connect{
host = "127.0.0.1"
user = "root"
password = "the password of root"
db = "the name of the database"
charset = "the charset of the database"
cursorclass = cursors.DicCursor
}
try:
# 获取数据库操作游标
with conn.cursor() as cursor:
sql = "select * from User where username = '仙女'"
# 执行SQL语句
cursor.execute(sql)
# 提交数据库执行
cursor.commit()
result = cursor.fetchone()
print(result)
finally:
# 关闭连接
conn.close()
配置admin后台
创建管理员账号
python manage.py createsuperuser
运行项目
python manage.py runserver 127.0.0.1:8001
可以在yourprojectname/settings.py下更改默认语言
LANGUAGE_CODE = 'zh-hans'

配置admin菜单视图
yourappname/admin.py 下可定义admin相关菜单视图
from django.contrib import admin
from yourappname.models import * # Register your models here. class Useradmin(admin.ModelAdmin):
list_display = ['id', 'username', 'iphone', 'email', 'signature','status'] #列表
search_fields = ['username'] #搜索栏 admin.site.register(User, Useradmin) #注册模型
刷新admin后台登录页面,点击你的user表进入,你可以看到

002-Django数据库及后台admin配置的更多相关文章
- Django自带后台admin的使用配置
Django自带后台使用配置参考官网地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介绍简单配置,如果需要详细内容 ...
- Django自带后台管理配置
Django自带后台管理的配置 创建项目和应用 修改配置文件 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql' ...
- Django自带后台使用配置
参考官网地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介绍简单配置,如果需要详细内容可以查阅官方文档 自动管理界 ...
- 14.Django自带的admin配置
admin有自己的默认显示,要自定义显示的样式,一般需要自己定义一个类,在自己定义的类里进行相应的设置,然后,把自己的类交给装饰器 交给装饰器的方法有两种: 1.@admin.register(Pub ...
- 关于django访问默认后台admin的时候提示403错误,
Forbidden (403) CSRF verification failed. Request aborted. You are seeing this message because this ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- django+x-admin管理后台模板开发管理后台案例(设计部分)
使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...
- django数据库读写分离
django数据库读写分离 1. 配置数据库 settings.py文件中 用SQLite: DATABASES = { 'default': { 'ENGINE': 'django.db.backe ...
- 万里长征第二步——django个人博客(第五步 ——配置后台admin)
在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.vie ...
随机推荐
- crontab定时执行shell脚本
步骤一 首先我们先看一下是否安装了crontab.一般情况下linux系统会自带crontab及crond.如果没有安装,请使用以下指令安装:yum install vixie-cron ...
- 如何用redis正确实现分布式锁?
先把结论抛出来:redis无法正确实现分布式锁!即使是redis单节点也不行!redis的所谓分布式锁无法用在对锁要求严格的场景下,比如:同一个时间点只能有一个客户端获取锁. 首先来看下单节点下一般r ...
- java作业利用递归解决问题
第一题 利用递归求组合数 设计思想 (1)首先根据公式求,利用递归完成阶乘函数的初始化,并且通过调用阶乘,实现公式计算 (2)递推方法,根据杨辉三角的特点,设置二维数组,从上到下依次保存杨辉三角所得数 ...
- Linux系统无法启动故障解决方案
Linux系统无法启动故障解决方案 2011-09-27 09:42 佚名 比特网 我要评论(0) 字号:T | T 不管你多么喜爱你的Linux系统机器,有时候你都必须恢复你的系统.是的,即使一台L ...
- SonarQube 7.7默认数据库连接方法
SonarQube7.7默认数据库为H2 embbed数据库 连接字符串:jdbc:h2:tcp://localhost:9092/sonar 用户名密码都为空
- 自己用ul模拟实现下拉多选框,
模拟实现下拉多选框 效果如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 对GraphQL-BFF:微服务背景下的前后端数据交互方案的研究-------引用
随着多终端.多平台.多业务形态.多技术选型等各方面的发展,前后端的数据交互,日益复杂. 同一份数据,可能以多种不同的形态和结构,在多种场景下被消费. 在理想情况下,这些复杂性可以全部由后端承担.前端只 ...
- MFC多文档获取窗口句柄
GET App AfxGetInstanceHandle() AfxGetApp() GET Frame->View->Document SDI AfxGetM ...
- ZOJ 1610 Count the Colors (线段树成段更新)
题意 : 给出 n 个染色操作,问你到最后区间上能看见的各个颜色所拥有的区间块有多少个 分析 : 使用线段树成段更新然后再暴力查询总区间的颜色信息即可,这里需要注意的是给区间染色,而不是给点染色,所以 ...
- c++ 初学者 慢慢成长中
C++书籍推荐 从上往下 Essential C++ C++ Primer 中文版 Effeetive C++ More Effeetive C++ C++ 标准程序库 深度探索c++对象模型 C11